home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1993 / Internet Info CD-ROM (Walnut Creek) (1993).iso / standards / misc / user.interface < prev    next >
Text File  |  1993-07-15  |  794KB  |  22,668 lines

  1. %b "Guidelines for Designing User Interface Software" 6
  2.  
  3. %p
  4.            GUIDELINES FOR DESIGNING USER INTERFACE SOFTWARE
  5.                              ESD-TR-86-278
  6.                               August 1986
  7.  
  8.                   Sidney L. Smith and Jane N. Mosier
  9.  
  10.                          The MITRE Corporation
  11.                       Bedford, Massachusetts, USA
  12.  
  13.           Prepared for Deputy Commander for Development Plans
  14.         and Support Systems, Electronic Systems Division, AFSC,
  15.    United States Air Force, Hanscom Air Force Base, Massachusetts. 
  16.  
  17.          Approved for public release; distribution unlimited. 
  18.  
  19. %p "SUMMARY"
  20.  
  21. %p
  22. This report offers guidelines for design of user interface software in
  23. six functional areas: data entry, data display, sequence control, user
  24. guidance, data transmission, and data protection.  This report revises
  25. and extends previous compilations of design guidelines (cf.  Smith and
  26. Mosier, 1984a). 
  27.  
  28. %p
  29. If you are a teacher, a student, a human factors practitioner or
  30. researcher, these guidelines can serve as a starting point for the
  31. development and application of expert knowledge.  But that is not the
  32. primary objective of this compilation.  The guidelines are proposed here
  33. as a potential tool for designers of user interface software. 
  34.  
  35. %p
  36. If you are a system analyst, you can review these guidelines to
  37. establish design requirements.  If you are a software designer, you can
  38. consult these guidelines to derive the specific design rules appropriate
  39. for your particular system application.  That translation from general
  40. guidelines to specific rules will help focus attention on critical user
  41. interface design questions early in the design process. 
  42.  
  43. %p
  44. If you are a manager responsible for user interface software design, you
  45. may find in these guidelines a means to make the design process more
  46. efficient.  Guidelines can help establish rules for coordinating
  47. individual design contributions, can help to make design decisions just
  48. once rather than leaving them to be made over and over again by
  49. individual designers, can help to define detailed design requirements
  50. and to evaluate user interface software in comparison with those
  51. requirements. 
  52.  
  53. %p
  54. The design of user interface software will often involve a considerable
  55. investment of time and effort.  Design guidelines can help ensure the
  56. value of that investment. 
  57.  
  58. %p ACKNOWLEDGMENT
  59.  
  60. %p
  61. This report was prepared by The MITRE Corporation.  The work reported
  62. here was sponsored by the Directorate of Computer Systems Engineering,
  63. Deputy for Acquisition Logistics and Technical Operations of the
  64. Electronic Systems Division (ESD) of the United States Air Force Systems
  65. Command, Hanscom Air Force Base, MA 01731.  Continuing funding for this
  66. work was provided by the Air Force Computer Resource Management
  67. Technology Program, Program Element 64740F, under ESD/MITRE Project
  68. 5220.  Final publication of these guidelines was funded under Project
  69. 5720. 
  70.  
  71. %p
  72. The Computer Resource Management Technology Program supports development
  73. and transition into active use of tools and techniques needed to cope
  74. with the explosive growth in Air Force systems that use computer
  75. resources.  The objectives of that Program are:
  76.  
  77.     to provide for the transition to Air Force systems of computer
  78.     system developments in laboratories, industry, and academia;
  79.  
  80.     to develop and apply software acquisition management techniques
  81.     to reduce life cycle costs;
  82.  
  83.     to provide improved software design tools;
  84.  
  85.     to address problems associated with computer security;
  86.  
  87.     to develop advanced software engineering tools, techniques, and
  88.     systems;
  89.  
  90.     to support the implementation of high-order programming
  91.     languages, e.g., Ada;
  92.  
  93.     to improve human engineering of computer systems; and
  94.  
  95.     to develop and apply computer simulation techniques in support
  96.     of system acquisition.
  97.  
  98. %p INTRODUCTION
  99.  
  100. %p
  101. In designing computer-based information systems, special attention must
  102. be given to software supporting the user interface.  For the past
  103. several years, guidelines for designing user interface software have
  104. been compiled as a continuing effort sponsored by the Air Force
  105. Electronic Systems Division (ESD).  Five previous ESD reports have dealt
  106. with this subject (Smith, 1980; 1981a; 1982b; Smith and Aucella, 1983a;
  107. Smith and Mosier, 1984a).
  108.  
  109. %p
  110. This present report revises and expands previously published material,
  111. and proposes a comprehensive set of guidelines for design of user
  112. interface software in computer-based information systems.  Although a
  113. great many changes have been made, much of the text and guidelines
  114. material in this report will seem familiar to the readers of previous
  115. reports.
  116.  
  117. %p
  118. Different people will read this report for different reasons -- teachers
  119. and students, human factors practitioners and researchers, system
  120. analysts and software designers, and their managers.  Each reader will
  121. bring to the task a unique background of experience and interests.  Thus
  122. some introductory comments are needed to help familiarize readers with
  123. the general problems of user interface design and the particular need
  124. for guidelines to design user interface software.
  125.  
  126. %p
  127. For the skeptical reader, this introduction offers arguments in favor of
  128. guidelines for user interface software design.  For the enthusiast who
  129. may imagine that guidelines can solve all design problems, this
  130. introduction will note some of their limitations.  For those readers who
  131. wish to apply design guidelines, this introduction describes how the
  132. report is formatted, how the guidelines are presented and annotated, and
  133. concludes with some recommendations for how the guidelines should be
  134. used.
  135.  
  136. %p "INFORMATION SYSTEMS"
  137.  
  138. %p
  139. Computers today are used for a broad range of applications.  User
  140. interface design guidelines cannot be applied usefully in every case.
  141. Some computers may be embedded as components in larger systems, so that
  142. they communicate only with other computers and not directly with human
  143. users.  When there is no user interface, then no user interface design
  144. guidelines are needed.
  145.  
  146. %p
  147. Some computers are designed as general tools which can be adapted by
  148. skilled users for whatever purpose they desire.  The particular tasks
  149. for which a general-purpose computer might be used are not defined in
  150. advance by the designer.  Instead, a user must provide exact
  151. instructions to program the computer to perform any task at hand.  The
  152. designer may try to ensure that the computer can process appropriate
  153. programming languages, but otherwise is not concerned with explicit
  154. design of a user interface.
  155.  
  156. %p
  157. Other computer systems are designed to help particular users perform
  158. specific tasks.  Such computer applications are referred to here as
  159. information systems.  Applications of information systems range from
  160. relatively simple data entry and retrieval (e.g., airline reservations)
  161. through more complex monitoring and control tasks (inventory control,
  162. process control, air traffic control) to jobs requiring long-term
  163. analysis and planning.  Military command, control and communication
  164. systems span that broad range of information system applications.
  165.  
  166. %p
  167. To the extent that information systems support human users performing
  168. defined tasks, careful design of the user-system interface will be
  169. needed to ensure effective system operation.  The guidelines proposed in
  170. this report are intended to improve user interface design for such
  171. information systems.
  172.  
  173. %p
  174. Users of information systems interact with a computer in order to
  175. accomplish information handling tasks necessary to get their jobs done.
  176. They differ in ability, training and job experience.  They may be keenly
  177. concerned with task performance, but may have little knowledge of (or
  178. interest in) the computers themselves.  Design of the user-system
  179. interface must take account of those human factors.
  180.  
  181. %p "USER-SYSTEM INTERFACE"
  182.  
  183. %p
  184. What is the user-system interface?  In common usage, the phrase is
  185. broadly defined to include all aspects of system design that affect
  186. system use (Smith, 1982a).  This report, however, is concerned more
  187. narrowly with the user interface to computer-based information systems,
  188. i.e., with those aspects of system design that influence a user's
  189. participation in information handling tasks.
  190.  
  191. %p
  192. This report focuses even more narrowly on those design features of the
  193. user interface that are implemented via software (i.e., the design of
  194. computer program logic) rather than hardware (the design of equipment).
  195. The guidelines proposed here are generally worded in terms of the
  196. functions that a user must perform, and the functional capabilities that
  197. a designer should provide, rather than the particular physical devices
  198. that might be used to implement those functions.  Thus a particular
  199. guideline might deal with "pointing" as a function, with no necessary
  200. recommendation whether pointing should be accomplished via touch display
  201. or lightpen or any other physical device.
  202.  
  203. %p
  204. It is obvious that software is not the only significant factor
  205. influencing user performance.  Other aspects of user interface design
  206. are clearly important, including workstation design, physical display
  207. characteristics, keyboard layout, environmental factors such as
  208. illumination and noise, the design of paper forms and written
  209. documentation, user training courses, etc.  To achieve a good user
  210. interface design, all of those factors must be designed with care.  But
  211. designers must look elsewhere for advice on those topics.  They are not
  212. covered in this report.
  213.  
  214. %p "USER INTERFACE SOFTWARE"
  215.  
  216. %p
  217. The significant role of user interface software in system design poses a
  218. special challenge to human factors practitioners, recognized early by
  219. Parsons (1970, page 169):
  220.  
  221.      . . . what sets data processing systems apart as a special breed?
  222.      The function of each switch button, the functional arrangement
  223.      among the buttons, the size and distribution of elements within a
  224.      display are established not in the design of the equipment but in
  225.      how the computer is programmed.  Of even more consequence, the
  226.      'design' in the programs establishes the contents of processed data
  227.      available to the operator and the visual relationships among the
  228.      data.  In combination with or in place of hardware, it can also
  229.      establish the sequence of actions which the operator must use and
  230.      the feedback to the operator concerning those actions.
  231.  
  232. %p
  233. Continuing concern for user interface software is suggested by phrases
  234. such as "software psychology" (cf.  Shneiderman, 1980).  But user
  235. interface design cannot be the concern only of the psychologist or the
  236. human factors specialist.  It is a significant part of information
  237. system design that must engage the attention of system developers,
  238. designers, and ultimately system users as well.  Those who look to the
  239. future of information systems predict that user interface design will
  240. become a specialty area; designers trained in both computer science and
  241. human factors will be employed to develop user interface software
  242. (Williges, 1984).
  243.  
  244. %p
  245. User interface software can represent a sizable investment of
  246. programming effort during initial system development, and later when a
  247. system is upgraded.  In a recent survey (Smith and Mosier, 1984b),
  248. information system designers were asked to estimate the percent of
  249. operational software devoted to implementing the user interface.
  250. Overall, the average estimate was that user interface design comprises
  251. 30 to 35 percent of operational software.  Estimates for individual
  252. systems ranged from 3 to 100 percent, reflecting the fact that some
  253. computer systems require a much higher investment in user interface
  254. design than others, depending upon their purpose.
  255.  
  256. %p "SIGNIFICANCE OF THE USER INTERFACE"
  257.  
  258. %p
  259. The design of user interface software is not only expensive and
  260. time-consuming, but it is also critical for effective system
  261. performance.  To be sure, users can sometimes compensate for poor design
  262. with extra effort.  Probably no single user interface design flaw, in
  263. itself, will cause system failure.  But there is a limit to how well
  264. users can adapt to a poorly designed interface.  As one deficiency is
  265. added to another, the cumulative negative effects may eventually result
  266. in system failure, poor performance, and/or user complaints.
  267.  
  268. %p
  269. Outright system failure can be seen in systems that are underused, where
  270. use is optional, or are abandoned entirely.  There may be retention of
  271. (or reversion to) manual data handling procedures, with little use of
  272. automated capabilities.  When a system fails in this way, the result is
  273. disrupted operation, wasted time, effort and money, and failure to
  274. achieve the potential benefits of automated information handling.
  275.  
  276. %p
  277. In a constrained environment, such as that of many military and
  278. commercial information systems, users may have little choice but to make
  279. do with whatever interface design is provided.  There the symptoms of
  280. poor user interface design may appear in degraded performance.  Frequent
  281. and/or serious errors in data handling may result from confusing user
  282. interface design.  Tedious user procedures may slow data processing,
  283. resulting in longer queues at the checkout counter, the teller's window,
  284. the visa office, the truck dock, or any other workplace where the
  285. potential benefits of computer support are outweighed by an unintended
  286. increase in human effort.
  287.  
  288. %p
  289. In situations where degradation in system performance is not so easily
  290. measured, symptoms of poor user interface design may appear as user
  291. complaints.  The system may be described as hard to learn, or clumsy,
  292. tiring and slow to use.  The users' view of a system is conditioned
  293. chiefly by experience with its interface.  If the user interface is
  294. unsatisfactory, the users' view of the system will be negative
  295. regardless of any niceties of internal computer processing.
  296.  
  297. %p
  298. A convincing demonstration of design improvement has been reported by
  299. Keister and Gallaway (1983).  Those authors describe a data entry
  300. application in which relatively simple improvements to user interface
  301. software -- including selection and formatting of displayed data,
  302. consistency in wording and procedures, on-line user guidance, explicit
  303. error messages, re-entry rather than overtyping for data change,
  304. elimination of abbreviations, etc. -- resulted in significantly
  305. improved system performance.  Data entry was accomplished 25 percent
  306. faster, and with 25 percent fewer errors.  How can that kind of design
  307. improvement be achieved in general practice?
  308.  
  309. %p "DESIGN PRACTICE"
  310.  
  311. %p
  312. It seems fair to characterize current user interface software design as
  313. art rather than science, depending more upon individual judgment than
  314. systematic application of knowledge (Ramsey and Atwood, 1979; 1980).  As
  315. an art, user interface design is best practiced by experts, by
  316. specialists experienced in the human engineering of computer systems.
  317. But such experts are not always available to help guide system
  318. development, and it is clear that they cannot personally guide every
  319. step of design.  What is needed is some way to embody expert judgment in
  320. the form of explicit design guidelines.
  321.  
  322. %p
  323. For military information systems, Military Specification MIL-H-48655B
  324. (1979) calls for a system development sequence starting with
  325. requirements analysis, functional specification and verification before
  326. any software design begins.  The actual course of user interface
  327. software development will sometimes depart from that desired sequence.
  328. There may be no explicit attempt to determine user interface
  329. requirements.  Specifications may include only rudimentary references to
  330. user interface design, with general statements that the system must be
  331. "easy to use".  In the absence of effective guidance, both the design
  332. and implementation of user interface software may become the
  333. responsibility of programmers unfamiliar with operational requirements.
  334. Detection and correction of design flaws may occur only after system
  335. prototyping, when software changes are difficult to make.
  336.  
  337. %p
  338. Human engineering standards and design handbooks have in the past been
  339. of little use to the software designer.  The popular human factors
  340. design handbook by Woodson (1981) is typical.  Its nearly 1000 pages
  341. include only three pages of general material on information processing,
  342. and there is no reference to computer systems in its index.
  343.  
  344. %p
  345. MIL-STD-1472B (1974), for many years the major human engineering design
  346. standard for military system procurement, was concerned almost
  347. exclusively with hardware design and physical safety.  In 1981,
  348. MIL-STD-1472 was published in a revised "C" version.  That version
  349. included nine pages dealing with user interface software design, in a
  350. section titled "Personnel-Computer Interface".  That material was later
  351. expanded to 19 pages, titled "User-Computer Interface", in a revision of
  352. MIL-STD-1472C (1983).  Thus a beginning has been made, but much more is
  353. needed.  The question is, what guidance can be offered for user
  354. interface software design?
  355.  
  356. %p "DESIGN GUIDELINES"
  357.  
  358. %p
  359. Until several years ago, there had been no serious attempt to integrate
  360. the scattered papers, articles and technical reports that constitute the
  361. literature of user-computer interaction.  A first step was made, under
  362. sponsorship of the Office of Naval Research (ONR), in compilation of an
  363. extensive bibliography on this subject (Ramsey, Atwood and Kirshbaum,
  364. 1978).  A significant follow-on effort culminated in publication by
  365. Ramsey and Atwood (1979) of a comprehensive summary of this literature.
  366.  
  367. %p
  368. In reviewing the literature, it is apparent that most published reports
  369. dealing with the user-computer interface describe applications rather
  370. than design principles.  A popular early book on the design of
  371. user-computer dialogues offered stimulating examples, covering a range
  372. of on-line applications, but was disappointing in its failure to
  373. emphasize design principles (Martin, 1973).  The ONR bibliography cited
  374. above includes 564 items, but identifies only 17 as offering design
  375. guidelines.
  376.  
  377. %p
  378. Although accepted principles for user interface design have not been
  379. available, some work has been accomplished toward that end.  As
  380. experience has been gained in the use of on-line computer systems, some
  381. experts have attempted to set forth principles ("guidelines", "ground
  382. rules", "rules of thumb") for design of the user-computer interface.  If
  383. experts cannot yet assert tested principles for user interface design,
  384. they might still offer sensible recommendations as a guide for
  385. designers.
  386.  
  387. %p
  388. Military agencies are not the only organizations seeking guidelines for
  389. user interface design.  There is keen interest in this topic within
  390. industrial and commercial organizations, and throughout the general
  391. community of people who develop and use information systems.  David
  392. Penniman, writing for the User On-Line Interaction Group of the American
  393. Society for Information Sciences, has cited the need for "an interim set
  394. of guidelines for user interface design based on available literature
  395. and pending the development of better guidelines as our knowledge
  396. increases" (1979, page 2).  Penniman goes on to remind us that interim
  397. guidelines are better than no guidelines at all.
  398.  
  399. %p
  400. In a survey of people concerned with user interface design (Smith and
  401. Mosier, 1984b), respondents generally support Penniman's activist
  402. position.  Given a choice between trying to develop a complete set of
  403. user interface guidelines now, when many of them must be based on
  404. judgment rather than experimental data, or else accepting only a partial
  405. set of guidelines based on evaluated research, most respondents would go
  406. with judgment now.
  407.  
  408. %p
  409. It is clear, of course, that system developers cannot wait for future
  410. research data in making present design decisions.  To meet current
  411. needs, several in-house handbooks have been published to guide user
  412. interface design within particular organizations (NASA, 1979; Galitz,
  413. 1980; Brown, Brown, Burkleo, Mangelsdorf, Olsen, and Perkins, 1983;
  414. Sidorsky, Parrish, Gates, and Munger, 1984).  These in-house guidelines
  415. draw heavily from those in earlier publications, especially the
  416. influential IBM report by Engel and Granda (1975), as modified by the
  417. authors' own good judgment.
  418.  
  419. %p
  420. The ESD/MITRE compilation of user interface design guidelines over the
  421. past several years has drawn from the work of our predecessors, and will
  422. help support the work of others to follow.  Each year our guidelines
  423. compilation has grown larger.  In this present report there are 944
  424. guidelines.  This compilation represents the most comprehensive guidance
  425. available for designing user interface software, and for that reason
  426. this report is recommended as a basic reference for developing
  427. information systems.
  428.  
  429. %p "GUIDELINES ORGANIZATION"
  430.  
  431. %p
  432. In the numbered sections of this report, guidelines are organized within
  433. six functional areas of user-system interaction:
  434.  
  435.                                            Number of
  436.      Section       Functional Area         Guidelines
  437.  
  438.      1             Data Entry              199
  439.      2             Data Display            298
  440.      3             Sequence Control        184
  441.      4             User Guidance           110
  442.      5             Data Transmission        83
  443.      6             Data Protection          70
  444.  
  445. %p
  446. Each section of guidelines covers a different functional area of
  447. user-system interaction, although there is necessarily some overlap in
  448. topical coverage from one section to another.  Within each section,
  449. guidelines are grouped by specific functions.  Each function has its own
  450. numeric designator, as listed in the table of contents for this report.
  451.  
  452. %p
  453. In adopting this functional organization, we have established a broad
  454. conceptual structure for dealing with the range of topics that must be
  455. considered in user interface design.  Such a conceptual structure is
  456. urgently needed to help clarify discourse in this field.
  457.  
  458. %p
  459. Each section of the guidelines begins with an introductory discussion of
  460. design issues relating to the general functional area.  That discussion
  461. provides some perspective for the guidelines that follow.  The
  462. discussion concludes with brief definitions of the various user
  463. interface functions covered in that section of the guidelines, along
  464. with an internal table of contents for that section, which may help to
  465. lead a reader directly to functions of immediate interest.
  466.  
  467. %p
  468. Function definitions are repeated in boxed format to begin the listing
  469. of guidelines under each function.  Those definitions should aid reader
  470. understanding of the material, and the boxed format will provide a
  471. notable visual indicator that a new series of guidelines has begun.
  472.  
  473. %p
  474. The guidelines themselves are numbered sequentially under each function,
  475. in order to permit convenient referencing.  Under any function there
  476. will usually be guidelines pertaining to various subordinate topics.
  477. Each guideline has been given a short title to indicate its particular
  478. subject matter.  Sometimes one guideline may introduce a new topic and
  479. then be followed by several closely related guidelines.  Each of those
  480. related guidelines has been marked with an plus sign next to its title.
  481.  
  482. %p
  483. Following its number and title, each guideline is stated as a single
  484. sentence.  Guidelines are worded as simply as possible, usually in
  485. general terms to permit broad application, but sometimes with contingent
  486. phrasing intended to define a more limited scope of application.
  487.  
  488. %p
  489. In many instances, a stated guideline will be illustrated by one or more
  490. examples.  When an example includes some sort of imagined computer
  491. output, such as an error message, prompt, menu, etc., that output has
  492. been marked with enclosing vertical strokes:
  493.  
  494.                      | sample computer output |
  495.  
  496. %p
  497. There is no question that specific examples can help clarify a
  498. generally-worded guideline.  Sometimes a reader will say, "I didn't
  499. really understand the guideline until I saw the example." But there is a
  500. potential hazard in examples.  Because any example must be narrowly
  501. specific, a reader who relies on that example may interpret the
  502. guideline as having a narrower meaning than was intended.  It is
  503. important to emphasize that examples are presented here only to
  504. illustrate the guidelines, and are not intended to limit the
  505. interpretation of guidelines.
  506.  
  507. %p
  508. Where the validity of a guideline is contingent upon special
  509. circumstances, examples may be followed by noted exceptions.  Those
  510. exceptions are intended to limit the interpretation of a guideline.
  511.  
  512. %p
  513. Where further clarification of a guideline seems needed, examples and
  514. noted exceptions are followed by supplementary comments.  Those comments
  515. may explain the reasoning behind a guideline, or suggest possible ways
  516. to interpret a guideline, or perhaps note relations between one
  517. guideline and another.
  518.  
  519. %p
  520. Where a guideline has been derived from or is related in some way to
  521. other published reports, a reference note may be added citing author(s)
  522. and date.  Complete citations for those references are listed following
  523. Section 6 of the guidelines.  Where a guideline corresponds with other
  524. published design standards or guidelines, which is often the case,
  525. reference citations are given by letter codes.  Those codes are
  526. explained in the reference list.
  527.  
  528. %p
  529. Where a guideline is specifically related to guidelines in other
  530. sections, appropriate cross references are given.  Those cross
  531. references permit an interested reader to explore how a particular topic
  532. is dealt with in different sections of the guidelines.
  533.  
  534. %p
  535. Toward the back of this report, following the guidelines is the
  536. reference list.  Following the reference list is a glossary.  The
  537. glossary defines word usage in the guidelines, for those words that are
  538. used here differently or more narrowly than in the general literature on
  539. user interface design.  There is no question that we need more
  540. consistent terminology in this field.
  541.  
  542. %p
  543. Following the glossary is a list of the titles for all 944 guidelines,
  544. which may help a reader who is trying to find guidelines that pertain to
  545. a particular topic.
  546.  
  547. %p
  548. Following the list of guideline titles, and concluding this report is a
  549. topical index of the guidelines material.  That index is intended to
  550. help readers find guidelines on a particular subject, independently of
  551. the functional organization that has been imposed on the guidelines
  552. material.
  553.  
  554. %p
  555. These notes on organization and format should serve to allow a student
  556. of the subject to skim the guidelines material and find information on
  557. different topics.  For those readers who seek to apply the guidelines in
  558. software design, some further comments are needed.
  559.  
  560. %p "APPLYING THE GUIDELINES"
  561.  
  562. %p
  563. Not all of the guidelines proposed here can be applied in designing any
  564. particular system.  For any particular system application, some of the
  565. guidelines will be relevant and some will not.  In a recent survey of
  566. guidelines application (Mosier and Smith, 1986), respondents indicated
  567. that they actually applied only 40 percent of the guidelines published
  568. in a previous report.
  569.  
  570. %p
  571. There is another problem to consider.  Design guidelines such as those
  572. proposed here must be generally worded so that they might apply to many
  573. different system applications.  Thus generally-worded guidelines must be
  574. translated into specific design rules before they can actually be
  575. applied.
  576.  
  577. %p
  578. The process of selecting relevant guidelines for application and
  579. translating them into specific design rules is referred to here as
  580. "tailoring".  Who will do this guidelines tailoring?  It should be the
  581. joint responsibility of system analysts and human factors specialists
  582. assessing design requirements, of software designers assessing
  583. feasibility, and of their managers.  It may also be helpful to include
  584. representatives of the intended system users in this process, to ensure
  585. that proposed design features will meet operational requirements.  To
  586. simplify discussion, we shall call all of these persons "designers".
  587.  
  588. %p
  589. As a first step in guidelines tailoring, a designer must review this
  590. report in order to identify those guidelines that are relevant.  For
  591. example, if an application will require menus, then the 36 guidelines in
  592. Section 3.1.3 dealing with Menu Selection are potentially relevant.  For
  593. a large information system, the list of relevant guidelines may be quite
  594. large.
  595.  
  596. %p
  597. Once all relevant guidelines have been identified, a designer must
  598. review them and decide which ones actually to apply.  There are two
  599. reasons why a designer might not wish to apply all relevant guidelines.
  600. First, for any given application some guidelines may conflict, and the
  601. designer must therefore choose which are more important.  Second,
  602. budgetary and time restrictions may force the designer to apply only the
  603. most important guidelines -- those that promise to have the greatest
  604. effect on system usability.
  605.  
  606. %p
  607. As noted above, because guidelines are intended for use on a variety of
  608. systems they are worded in general terms.  Before a guideline can
  609. actually be applied it must be translated into specific design rules.
  610. For instance, a guideline which states that displays should be
  611. consistently formatted might be translated into design rules that
  612. specify where various display features should appear, such as the
  613. display title, prompts and other user guidance, error messages, command
  614. entries, etc.
  615.  
  616. %p
  617. Any guideline can have different possible translations.  A guideline
  618. which states that each display should be uniquely identified could be
  619. translated into a design rule that display titles will be bolded and
  620. centered in the top line of the display.  Or it could be translated into
  621. a design rule that display titles will be capitalized in the upper left
  622. corner of the display.
  623.  
  624. %p
  625. What would happen if guidelines were not translated into design rules,
  626. but instead were given directly to interface designers?  If designers do
  627. not decide as a group what design rules will be used, then each designer
  628. will decide separately in the course of applying guidelines.  The result
  629. will surely be an inconsistent design.
  630.  
  631. %p
  632. After design rules have been specified for each selected guideline,
  633. those rules should be documented for reference by software designers and
  634. others involved in system development.  Documentation of agreed rules,
  635. subject to periodic review and revision as necessary, will help
  636. coordinate the design process.  Documented rules can then be applied
  637. consistently for a given application.  With appropriate modifications,
  638. rules adopted for one application might later be used for other
  639. applications.
  640.  
  641. %p
  642. In the course of design, it may be determined that a particular design
  643. rule cannot be used.  Therefore, some means must be provided to deal
  644. with exceptions.  If a design rule is not appropriate for one particular
  645. display, then an exception can be made by whoever has been appointed to
  646. make such decisions.  But if a design rule cannot be implemented at all,
  647. perhaps due to other design constraints, then all designers for that
  648. particular system must be notified, and perhaps another design rule must
  649. be substituted.
  650.  
  651. %p
  652. Finally, after the design is complete, it must be evaluated against the
  653. original design requirements to ensure that all design rules have indeed
  654. been followed.  To help in the exception process and in the evaluation
  655. process, it may be useful to assign different weights to the various
  656. rules, indicating which are more important than others.  Such weighting
  657. will help resolve the trade-offs that are an inevitable part of the
  658. design process.
  659.  
  660. %p "ROLE OF GUIDELINES IN SYSTEM DEVELOPMENT"
  661.  
  662. %p
  663. If guidelines are applied in the way described here, there are some
  664. significant implications for the role of guidelines in system
  665. development.  Generally stated guidelines should be offered to designers
  666. as a potential resource, rather than imposed as a contractual design
  667. standard (Smith, 1986).  It is only specifically worded design rules
  668. that can be enforced, not guidelines.
  669.  
  670. %p
  671. Design rules can be derived from the guidelines material, but that
  672. conversion from guidelines to rules should be performed as an integral
  673. part of the design process, serving to focus attention on critical
  674. design issues and to establish specific design requirements.  Once
  675. agreed design rules are established, those rules can be maintained and
  676. enforced by the managers of system development projects.
  677.  
  678. %p
  679. Specific design rules probably cannot be imposed effectively at the
  680. outset of system development by some external agency -- by a sponsoring
  681. organization or by a marketing group.  It is the process of establishing
  682. design rules that should be imposed, rather than the rules themselves.
  683. A software design contractor might reasonably be required to establish
  684. rules for the design of user interface software, subject to review by
  685. the contracting agency.  Available guidelines could be cited as a
  686. potentially useful reference for that purpose.
  687.  
  688. %p
  689. Some other cautionary comments about the application of guidelines
  690. deserve consideration here.  Guidelines in themselves cannot assure good
  691. design for a variety of reasons (Thimbleby, 1985).  Guidelines cannot
  692. take the place of experience.  An experienced designer, one skilled in
  693. the art, might do well without any guidelines.  An inexperienced
  694. designer might do poorly even with guidelines.  Few designers will find
  695. time to read an entire book of guidelines.  If they do, they will find
  696. it difficult to digest and remember all of the material.  If guidelines
  697. and/or the rules derived from guidelines are to be helpful, they must be
  698. kept continually available for ready reference.
  699.  
  700. %p
  701. Guidelines cannot take the place of expert design consultants, or at
  702. least not entirely.  A design expert will know more about a specific
  703. topic than can be presented in the guidelines.  An expert will know what
  704. questions to ask, as well as many of the answers.  An expert will know
  705. how to adapt generally-stated guidelines to the specific needs of a
  706. particular system design application.  An expert will know how to trade
  707. off the competing demands of different guidelines, in terms of
  708. operational requirements.
  709.  
  710. %p
  711. For maximum effectiveness, guideline tailoring must take place early in
  712. the design process before any actual design of user interface software.
  713. In order to tailor guidelines, designers must have a thorough
  714. understanding of task requirements and user characteristics.  Thus task
  715. analysis is a necessary prerequisite of guidelines tailoring.
  716.  
  717. %p
  718. The result of guidelines application will be a design for user interface
  719. software that may incorporate many good recommendations.  However, even
  720. the most careful design will require testing with actual users in order
  721. to confirm the value of good features and discover what bad features may
  722. have been overlooked.  Thus prototype testing must follow initial
  723. design, followed in turn by possible redesign and operational testing.
  724.  
  725. %p
  726. Indeed, testing is so essential for ensuring good design that some
  727. experts advocate early creation of an operational prototype to evaluate
  728. interface design concepts interactively with users, with iterative
  729. design changes to discover what works best (Gould and Lewis, 1983).  But
  730. prototyping is no substitute for careful design.  Prototyping will allow
  731. rapid change in a proposed interface; however, unless the initial design
  732. is reasonably good, prototyping may not produce a usable final design.
  733.  
  734. %p
  735. Considering the system development process overall, guidelines
  736. application will not necessarily save work in user interface design, and
  737. in fact may entail extra work, at least in the initial stage of
  738. establishing design rules.  But guidelines application should help
  739. produce a better user interface.  Because guidelines are based on what
  740. is known about good design, the resulting user interface is more likely
  741. to be usable.  Certainly the common application of design rules by all
  742. designers working on a system should result in more consistent user
  743. interface design.  And the single objective on which experts agree is
  744. design consistency.
  745. %%
  746.  
  747. %p "REFERENCES"
  748.  
  749. %p "" 7
  750. Anyone involved in compilation of design guidelines must begin and end
  751. by acknowledging the significant contributions of other people.  No one
  752. person, no matter how wise, can know everything about the complexities
  753. of user interface design.  Nor will any one person have the perfect
  754. judgment and find the perfect words to express that knowledge to an
  755. interface designer.  Thus when we propose guidelines we must build upon
  756. the work of others.
  757.  
  758. %p "" 4
  759. That is a good thing.  All design guidelines are necessarily based in
  760. some degree on judgment.  Thus guidelines development must properly be a
  761. collaborative effort.  The collective judgment of many people will often
  762. prove sounder than the ideas of just one person.
  763.  
  764. %p "" 6
  765. When many people contribute to guidelines development, we must find ways
  766. to acknowledge that contribution.  One way is to cite previously
  767. published papers that pertain to the guidelines.  Citations in this
  768. report are represented in the reference list that follows.  But in the
  769. next several pages we also try to acknowledge more direct contributions
  770. to our work.
  771.  
  772. %p "" 8
  773. Many of the user interface design guidelines proposed in this report
  774. were not invented here, but derive from the ideas of other people.
  775. Where the idea for a guideline came from a particular source, an
  776. appropriate reference citation has been included for that guideline.
  777. Such citation offers credit where credit is due.  More importantly,
  778. cited references may permit a reader who questions a particular
  779. guideline to explore its antecedents, perhaps to gain a better
  780. understanding of what is intended.
  781.  
  782. %p "" 4
  783. Citing an external reference in connection with a guideline does not
  784. necessarily mean that there is convincing data to support a guideline.
  785. Although the references cited here all contain worth-while ideas, only
  786. some of these references report results from systematic data collection.
  787.  
  788. %p "" 5
  789. Furthermore, citation of references does not necessarily mean that their
  790. authors would agree with the wording of guidelines presented here.  In
  791. some instances, an idea has been borrowed intact.  In many more
  792. instances, however, ideas have been modified, sometimes drastically,
  793. perhaps beyond the intent of their original authors.
  794.  
  795. %p "" 6
  796. In this report, in both the text and the guidelines, citations of
  797. specific references are in conventional form, showing author(s) and
  798. publication date.  Those references are listed in the pages that follow.
  799. The particular format used here for citation and listing of references
  800. conforms in most respects to the standard referencing practice recently
  801. adopted by the Human Factors Society (1984).
  802.  
  803. %p "" 11
  804. However, four reference sources are used generally throughout the
  805. guidelines.  Those sources are cited so frequently that they have been
  806. indicated simply by initials:
  807.  
  808. BB = Brown, Brown, Burkleo, Mangelsdorf, Olsen, and Perkins, 1983
  809.  
  810. EG = Engel and Granda, 1975
  811.  
  812. MS = MIL-STD-1472C (as revised), 1983
  813.  
  814. PR = Pew and Rollins, 1975
  815.  
  816. %p "" 11
  817. These four general references share a common characteristic -- like this
  818. report, they are all collections of design guidelines.  None of these
  819. four general references provide supporting data for their design
  820. recommendations, and they need not be consulted for that purpose.  The
  821. two early reports (EG and PR) have served as a fertile source of ideas
  822. for our current guidelines; where those reports are cited here, it means
  823. that their early recommendations are still judged to be correct.  The
  824. two more recent reports (BB and MS) have drawn heavily from common
  825. sources, including previous editions of the guidelines proposed here;
  826. where those reports are cited, it means that their authors have made
  827. similar recommendations to those presented here.
  828.  
  829. %p "" 4
  830. The 1975 IBM report by Engel and Granda (EG) was the first widely
  831. recognized compilation of user interface design guidelines.  That report
  832. has provided inspiration and has served as a seminal reference for
  833. others working in this field.
  834.  
  835. %p "" 4
  836. The 1975 BBN report by Pew and Rollins (PR) represents an admirable
  837. attempt to propose design guidelines for one particular system
  838. application.  Its recommendations, however, can readily be generalized
  839. for broader application.
  840.  
  841. %p "" 4
  842. The 1983 report by Lin Brown and his colleagues at Lockheed (BB) is a
  843. good example of user interface guidelines developed for use as an
  844. in-house design standard, but which have also been made available for
  845. public reference.
  846.  
  847. %p "" 3
  848. None of these three reports are distributed by government sources such
  849. as the National Technical Information Service.  However, these reports
  850. may be obtained by direct request from their authors.
  851.  
  852. %p "" 8
  853. MIL-STD-1472C (MS), in its current revision, is the US military standard
  854. for human engineering in system design.  That standard has been cited
  855. here 237 times, for 209 guidelines.  It is important to emphasize that
  856. guidelines do not carry the same weight as design standards.  Guidelines
  857. are proposed here for optional application in system development, rather
  858. than to be imposed contractually.  However, there is some considerable
  859. correspondence in content between these guidelines and the current
  860. military standard.
  861.  
  862. %p "" 60
  863. Not all ideas for guidelines come from published references.  Some of
  864. the guidelines proposed here have resulted from discussion with
  865. professional colleagues.  And the wording of all guidelines has been
  866. improved through critical review of earlier published versions.  Over
  867. the past several years, a number of people have contributed suggestions
  868. for improving the guidelines material:
  869.  
  870.  Sara R. Abbott          Union Carbide Corporation
  871.  James H. Alexander      Tektronix, Inc.
  872.  Dorothy J. Antetomaso   The MITRE Corporation
  873.  Christopher J. Arbak    McDonnell Douglas Corporation
  874.  Arlene F. Aucella       Wang Laboratories
  875.  
  876.  Clifford E. Baker       The MITRE Corporation
  877.  J. David Beattie        Ontario Hydro
  878.  Leo Beltracchi          US Nuclear Regulatory Commission
  879.  C. Marlin Brown         Lockheed Missiles and Space Company
  880.  Alphonse Chapanis       Alphonse Chapanis Ph.D.
  881.  
  882.  Hal Cheney              OCLC
  883.  Kent B. Davis           Litton Data Command Systems
  884.  Robert S. Didner        Decision Information Designs
  885.  John Dinan              Raytheon Equipment Division
  886.  Susan M. Dray           Honeywell, Inc.
  887.  
  888.  Joseph S. Dumas         American Institutes for Research
  889.  Sam L. Ehrenreich       AT&T Bell Laboratories
  890.  Jeanne Fleming          The MITRE Corporation
  891.  James D. Foley          The George Washington University
  892.  Elaine A. Fournier      The MITRE Corporation
  893.  
  894.  Wilbert O. Galitz       Galitz, Inc.
  895.  Robert N. Gifford       Northrop Electronics
  896.  Susan R. Gilbert        Wang Laboratories
  897.  Nancy C. Goodwin        The MITRE Corporation
  898.  Jo Huddleston           Ferranti Computer Systems Limited
  899.  
  900.  Richard M. Kane         Wang Laboratories
  901.  Richard S. Keister      Battelle Columbus Laboratories
  902.  Karen L. Kessel         Hughes Aircraft Company
  903.  Judith R. Kornfeld      Symbolics, Inc.
  904.  Jack I. Laveson         Integrated Systems Research
  905.  
  906.  Richard Marshall        Olivetti
  907.  Harold Miller-Jacobs    Sperry Corporation
  908.  Alice M. Mulvehill      The MITRE Corporation
  909.  Jakob Nielsen           Technical University of Denmark
  910.  Lorraine F. Normore     Chemical Abstracts Service
  911.  
  912.  Robert N. Parrish       The Aerospace Corporation
  913.  Steven P. Rogers        Anacapa Sciences, Inc.
  914.  Eric M. Schaffer        Human Performance Associates
  915.  Ben Shneiderman         University of Maryland
  916.  Malcolm L. Stiefel      The MITRE Corporation
  917.  
  918.  Susan G. Tammaro        The MITRE Corporation
  919.  Nancy S. Tanner         University of Massachusetts
  920.  John C. Thomas          Nynex Corporation
  921.  Herb Weiner             Tektronix, Inc.
  922.  R. Don Williams         Texas Instruments, Inc.
  923.  
  924. %p "" 8
  925. Some of these people have offered specific suggestions.  Some have
  926. contributed more general comments about the wording or formatting of the
  927. guidelines material.  But all have shown a serious concern with trying
  928. to improve the guidelines and make them more useful to designers of user
  929. interface software.  Probably not one of these people would agree with
  930. all of the guidelines proposed here; in matters of judgment we can
  931. seldom achieve unanimity.  But where the guidelines seem good, these are
  932. people who deserve our thanks.
  933.  
  934. %p "" 10
  935. Several people on this list deserve extra thanks.  Our colleagues at
  936. MITRE have continued to serve as an in-house working group for
  937. guidelines review.  Special thanks are due to Nancy Goodwin for her
  938. thorough revision of the guidelines on data transmission; to Jeanne
  939. Fleming and James Foley for their detailed comments on guidelines
  940. proposed for graphics entry and display; and to Dorothy Antetomaso for
  941. her review of the guidelines on data security.  Special thanks for past
  942. contributions are due to Arlene Aucella who helped prepare the 1983
  943. guidelines report; and to MITRE supervisor Marlene Hazle for her early
  944. encouragement and support of guidelines compilation.
  945.  
  946. %p "albert 1982 ~ 1.1/4 1.1/12 " 4
  947. Albert, A. E. (1982).  The effect of graphic input devices on
  948. performance in a cursor positioning task.  In Proceedings of the Human
  949. Factors Society 26th Annual Meeting (pp. 54-58).  Santa Monica, CA:
  950. Human Factors Society.
  951.  
  952. %p "aretz kopala 1981 ~ 3.1.4/16 " 4
  953. Aretz, A. J., and Kopala, C. J. (1981).  Automatic return in
  954. multifunction control logic.  In Proceedings of the Human Factors
  955. Society 25th Annual Meeting (pp. 254-256).  Santa Monica, CA: Human
  956. Factors Society.
  957.  
  958. %p "badre 1984 ~ 3.0/3 3.1.3/12 3.1.3/35 3.1.3/36 " 3
  959. Badre, A. N. (1984).  Designing transitionality into the user-computer
  960. interface.  In Salvendy, G. (Ed.), Human-Computer Interaction (pp.
  961. 27-34).  Amsterdam: Elsevier Science Publishers.
  962.  
  963. %p "barnard hammond maclean morton 1982 ~ 3.1.5/8 " 3
  964. Barnard, P. J., Hammond, N. V., MacLean, A., and Morton, J. (1982).
  965. Learning and remembering interactive commands in a text-editing task.
  966. Behaviour and Information Technology, 1, 347-358.
  967.  
  968. %p "barnard marcel 1984 ~ 2.4/13 3.1.8/3 " 3
  969. Barnard, P., and Marcel, T. (1984).  Representation and understanding in
  970. the use of symbols and pictograms.  In Easterby, R., and Zwaga, H.
  971. (Eds.), Information Design (pp. 37-75).  Chichester: Wiley.
  972.  
  973. %p "bauer eddy 1986 ~ 3.1.8/7 " 2
  974. Bauer, D. W., and Eddy, J. K. (1986).  The representation of command
  975. language syntax.  Human Factors, 28, 1-10.
  976.  
  977. %p "bertelson boons renkin 1965 ~ 1.0/8 " 4
  978. Bertelson, P., Boons, J.-P., and Renkin, A. (1965).  Vitesse libre et
  979. vitesse imposee dans une tache simulant le tri mechanique de la
  980. correspondence (Self pacing and imposed pacing in a task simulating
  981. automated postal sorting).  Ergonomics, 8, 3-22.
  982.  
  983. %p "bertoni 1982" 1
  984. Bertoni, P. (1982, June 22).  Of slipped disks . . . . Boston Globe.
  985.  
  986. %p "bewley roberts schroit verplank 1983 ~ 3.1.8/3 " 4
  987. Bewley, W. L., Roberts, T. L., Schroit, D., and Verplank, W. L. (1983).
  988. Human factors testing in the design of Xerox's 8010 "Star" office
  989. workstation.  In Proceedings of CHI'83 Human Factors in Computing
  990. Systems (pp. 72-77).  New York: Association for Computing Machinery.
  991.  
  992. %p "bigelow 1985 ~ 3.1.8/4 " 2
  993. Bigelow, C. (1985, July).  Proceedings of the Typography Interest Group
  994. ACM CHI'85.  SIGCHI Bulletin, 17(1), 10-11.
  995.  
  996. %p "billingsley 1982 ~ 3.1.3/30 4.4/4 " 4
  997. Billingsley, P. A. (1982).  Navigation through hierarchical menu
  998. structures: Does it help to have a map?  In Proceedings of the Human
  999. Factors Society 26th Annual Meeting (pp. 103-107).  Santa Monica, CA:
  1000. Human Factors Society.
  1001.  
  1002. %p "bb = brown brown burkleo mangelsdorf olsen perkins 1983" 4
  1003. BB = Brown, C. M., Brown, D. B., Burkleo, H. V., Mangelsdorf, J. E.,
  1004. Olsen, R. A., and Perkins, R. D. (1983, June 15).  Human Factors
  1005. Engineering Standards for Information Processing Systems (LMSC-D877141).
  1006. Sunnyvale, CA: Lockheed Missiles and Space Company.
  1007.  
  1008. %p "bruder moy mueller danielson 1981 ~ 5.0/2 5.1/12 5.2/8 5.2/10 5.3/13 5.5/4 " 4
  1009. Bruder, J., Moy, M., Mueller, A., and Danielson, R. (1981).  User
  1010. experience and evolving design in a local electronic mail system.  In
  1011. Uhlig, R. P. (Ed.), Computer Message Systems (pp. 69-78).  New York:
  1012. North-Holland.
  1013.  
  1014. %p "bury boyle evey neal 1982 ~ 2.7.2/7 " 3
  1015. Bury, K. F., Boyle, J. M., Evey, R. J., and Neal, A. S. (1982).
  1016. Windowing versus scrolling on a visual display terminal.  Human Factors,
  1017. 24, 385-394.
  1018.  
  1019. %p "butterbaugh rockwell 1982 ~ 1.0/25 " 2
  1020. Butterbaugh, L. C., and Rockwell, T. H. (1982).  Evaluation of
  1021. alternative alphanumeric keying logics.  Human Factors, 24, 521-533.
  1022.  
  1023. %p "campbell marchetti mewhort 1981 ~ 2.1/8 " 3
  1024. Campbell, A. J., Marchetti, F. M., and Mewhort, D. J. K. (1981).
  1025. Reading speed and text production: A note on right-justification
  1026. techniques.  Ergonomics, 24, 633-640.
  1027.  
  1028. %p "carroll 1982 ~ 3.0/11 3.1.5/7 3.1.5/10 " 2
  1029. Carroll, J. M. (1982).  Learning, using and designing filenames and
  1030. command paradigms.  Behaviour and Information Technology, 1, 327-346.
  1031.  
  1032. %p "chao 1985 ~ 2.7.3/4 " 3
  1033. Chao, B. P. (1985).  Evaluation of a video storage system for intrusion
  1034. detections.  In Proceedings of the Human Factors Society 29th Annual
  1035. Meeting (pp. 417-421).  Santa Monica, CA: Human Factors Society.
  1036.  
  1037. %p "cleveland 1985 ~ 2.4/2 2.4.1/2 2.4.1/7 2.4.1/8 2.4.1/12 2.4.2/3 2.4.2/4 2.4.3/6 2.4.3/11 2.4.5/1 " 2
  1038. Cleveland, W. S. (1985).  The Elements of Graphing Data.  Monterey, CA:
  1039. Wadsworth Advanced Books and Software.
  1040.  
  1041. %p "cohill williges 1985 ~ 4.4/29 " 3
  1042. Cohill, A. M., and Williges, R. C. (1985).  Retrieval of HELP
  1043. information for novice users of interactive computer systems.  Human
  1044. Factors, 27, 335-343.
  1045.  
  1046. %p "csc-std-002-85 1985" 3
  1047. CSC-STD-002-85 (1985, 12 April).  Department of Defense Password
  1048. Management Guideline.  Fort George G. Meade, MD: Department of Defense
  1049. Computer Security Center.
  1050.  
  1051. %p "dean 1982 ~ 4.3/1 " 2
  1052. Dean, M. (1982).  How a computer should talk to people.  IBM Systems
  1053. Journal, 21, 424-453.
  1054.  
  1055. %p "demers 1981 ~ 3.1.5/7 3.1.5/11 3.1.5/14 3.1.5/18 3.2/18 " 2
  1056. Demers, R. A. (1981).  System design for usability.  Communications of
  1057. the ACM, 24, 494-501.
  1058.  
  1059. %p "deutsch 1981 ~ 5.1/5 5.2/2 " 3
  1060. Deutsch, D. (1981).  Design of a message format standard.  In Uhlig, R.
  1061. P. (Ed.), Computer Message Systems (pp. 199-220).  New York:
  1062. North-Holland.
  1063.  
  1064. %p "deutsch 1984 ~ 5.2/8 5.2/9 5.2/11 5.2/17 " 3
  1065. Deutsch, D. P. (1984).  Implementing distribution lists in
  1066. computer-based message systems.  In Smith, H. T. (Ed.), Computer-Based
  1067. Message Services (pp. 3-13).  New York: North-Holland.
  1068.  
  1069. %p "dray ogden vestewig 1981 ~ 3.1.3/25 " 4
  1070. Dray, S. M., Ogden, W. G., and Vestewig, R. E. (1981).  Measuring
  1071. performance with a menu-selection human-computer interface.  In
  1072. Proceedings of the Human Factors Society 25th Annual Meeting (pp.
  1073. 746-748).  Santa Monica, CA: Human Factors Society.
  1074.  
  1075. %p "duchnicky kolers 1983 ~ 2.1/4 2.1/5 2.1/28 " 3
  1076. Duchnicky, R. L., and Kolers, P. A. (1983).  Readability of text
  1077. scrolled on visual display terminals as a function of window size.
  1078. Human Factors, 25, 683-692.
  1079.  
  1080. %p "dunn 1973 ~ 2.4/18 " 3
  1081. Dunn, C. (1973).  The use of real-time simulation by means of animation
  1082. film as an analytical design tool in certain spatio-temporal situations.
  1083. Ergonomics, 16, 515-519.
  1084.  
  1085. %p "durding becker gould 1977 ~ 3.1.6/2 " 2
  1086. Durding, B. M., Becker, C. A., and Gould, J. D. (1977).  Data
  1087. organization.  Human Factors, 19, 1-14.
  1088.  
  1089. %p "dwyer 1981 ~ 3.5/5 " 2
  1090. Dwyer, B. (1981).  A user-friendly algorithm.  Communications of the
  1091. ACM, 24, 556-561.
  1092.  
  1093. %p "dzida 1981 ~ 5.3/5 5.4/5 " 3
  1094. Dzida, W. (1981).  Computer mediated messaging for interactive purposes.
  1095. In Uhlig, R. P. (Ed.), Computer Message Systems (pp. 79-87).  New York:
  1096. North-Holland.
  1097.  
  1098. %p "ehrenreich 1981 ~ 3.1.6/1 " 2
  1099. Ehrenreich, S. L. (1981).  Query languages: Design recommendations
  1100. derived from the human factors literature.  Human Factors, 23, 709-725.
  1101.  
  1102. %p "ehrenreich 1985 ~ 1.0/19 " 2
  1103. Ehrenreich, S. L. (1985).  Computer abbreviations: Evidence and
  1104. synthesis.  Human Factors, 27, 143-156.
  1105.  
  1106. %p "ehrenreich porcu 1982 ~ 1.0/19 " 4
  1107. Ehrenreich, S. L., and Porcu, T. (1982).  Abbreviations for automated
  1108. systems: Teaching operators the rules.  In A. Badre and B. Shneiderman
  1109. (Eds.), Directions in Human/Computer Interaction (pp. 111-135).
  1110. Norwood, NJ: Ablex Publishing.
  1111.  
  1112. %p "elkerton williges pittman roach 1982 ~ 1.3/1 1.3/9 2.5/9 " 4
  1113. Elkerton, J., Williges, R. C., Pittman, J. A., and Roach, J. (1982).
  1114. Strategies of interactive file search.  In Proceedings of the Human
  1115. Factors Society 26th Annual Meeting (pp. 83-86).  Santa Monica, CA:
  1116. Human Factors Society.
  1117.  
  1118. %p "eg = engel granda 1975" 3
  1119. EG = Engel, S. E., and Granda, R. E. (1975, December).  Guidelines for
  1120. Man/Display Interfaces (Technical Report TR 00.2720).  Poughkeepsie, NY:
  1121. IBM.
  1122.  
  1123. %p "foley van dam 1982 ~ 1.3/27 1.6/1 1.6.1/4 1.6.2/1 1.6.2/2 1.6.2/3 1.6.2/6 1.6.2/19 2.4/1 2.4/12 2.4/17 2.4.6/1 2.4.6/5 2.5/1 2.7.2/13 2.7.2/15 2.7.3/4 2.7.5/4 3.0/14 3.0/18 3.1.8/3 3.3/4 " 2
  1124. Foley, J. D., and Van Dam, A. (1982).  Fundamentals of Interactive
  1125. Computer Graphics.  Reading, MA: Addison-Wesley.
  1126.  
  1127. %p "foley wallace 1974 ~ 1.0/5 1.1/4 1.1/14 1.4/2 1.6/1 1.6/4 1.6/5 1.6.1/5 3.1.3/6 3.1.3/22 3.1.4/14 3.1.5/14 3.2/18 3.3/3 3.3/4 3.5/7 4.2/8 4.3/18 4.4/7 6.0/18 " 2
  1128. Foley, J. D., and Wallace, V. L. (1974).  The art of natural graphic
  1129. man-machine conversation.  Proceedings of the IEEE, 62, 462-471.
  1130.  
  1131. %p "foley wallace chan 1984 ~ 1.6/1 1.6/2 1.6/4 1.6/7 1.6.2/2 1.6.2/4 2.4.6/5 " 3
  1132. Foley, J. D., Wallace, V. L., and Chan, P. (1984, November).  The human
  1133. factors of computer graphics interaction techniques.  IEEE Computer
  1134. Graphics and Applications, 4(11), 13-48.
  1135.  
  1136. %p "gade fields maisano marshall alderman 1981 ~ 1.0/24 3.1.5/20 " 3
  1137. Gade, P. A., Fields, A. F., Maisano, R. E., Marshall, C. F., and
  1138. Alderman, I. N. (1981).  Data entry performance as a function of method
  1139. and instructional strategy.  Human Factors, 23, 199-210.
  1140.  
  1141. %p "galitz 1980" 2
  1142. Galitz, W. O. (1980).  Human Factors in Office Automation.  Atlanta, GA:
  1143. Life Office Management Association.
  1144.  
  1145. %p "garcia-luna kuo 1981 ~ 5.2/4 5.2/8 5.2/10 " 3
  1146. Garcia-Luna, J. J., and Kuo, F. L. (1981).  Addressing and directory
  1147. systems for large computer mail systems.  In Uhlig, R. P. (Ed.),
  1148. Computer Message Systems (pp. 297-313).  New York: North-Holland.
  1149.  
  1150. %p "gardan lucas 1984 ~ 1.6/16 1.6.2/3 1.6.2/6 1.6.2/8 1.6.2/9 1.6.2/14 1.6.2/16 1.6.2/18 1.6.2/19 " 2
  1151. Gardan, Y., and Lucas, M. (1984).  Interactive Graphics in CAD.  London:
  1152. Kogan Page.
  1153.  
  1154. %p "geer 1981 ~ 2.4.7/6 " 3
  1155. Geer, C. W. (1981).  Human Engineering Procedures Guide (Technical
  1156. Report AFAMRL-TR-81-35).  Wright-Patterson Air Force Base, OH: Air Force
  1157. Aerospace Medical Research Laboratory.  (NTIS No. AD A108 643)
  1158.  
  1159. %p "geiser schumacher berger 1982 ~ 3.1.4/10 " 4
  1160. Geiser, G., Schumacher, W., and Berger, L. (1982).  Talking keyboard for
  1161. user guidance in multifunction systems.  In Proceedings of the Human
  1162. Factors Society 26th Annual Meeting (pp. 436-439).  Santa Monica, CA:
  1163. Human Factors Society.
  1164.  
  1165. %p "gilfoil 1982 ~ 3.0/3 " 4
  1166. Gilfoil, D. M. (1982).  Warming up to computers: A study of cognitive
  1167. and affective interaction over time.  In Proceedings of Conference on
  1168. Human Factors in Computer Systems (pp. 245-250).  Washington, DC:
  1169. Association for Computing Machinery.
  1170.  
  1171. %p "good whiteside wixon jones 1984 ~ 2.0/7 3.0/13 3.1.5/21 3.1.5/22 4.0/18 " 3
  1172. Good, M. D., Whiteside, J. A., Wixon, D. R., and Jones, S. J. (1984).
  1173. Building a user-derived interface.  Communications of the ACM, 27,
  1174. 1032-1043.
  1175.  
  1176. %p "goodwin 1974" 3
  1177. Goodwin, N. C. (1974, March).  INTRO -- In Which a Smart Terminal
  1178. Teaches Its Own Use (Technical Report ESD-TR-74-374).  Hanscom Air Force
  1179. Base, MA: USAF Electronic Systems Division.  (NTIS No. AD A126 205)
  1180.  
  1181. %p "goodwin 1975 ~ 1.1/12 " 3
  1182. Goodwin, N. C. (1975).  Cursor positioning on an electronic display
  1183. using lightpen, lightgun, or keyboard for three basic tasks.  Human
  1184. Factors, 17, 289-295.
  1185.  
  1186. %p "goodwin 1980" 3
  1187. Goodwin, N. C. (1980).  A user-oriented evaluation of computer-aided
  1188. message handling.  In Proceedings of the Human Factors Society 24th
  1189. Annual Meeting (pp. 585-589).  Santa Monica, CA: Human Factors Society.
  1190.  
  1191. %p "goodwin 1982" 4
  1192. Goodwin, N. C. (1982).  Effect of interface design on usability of
  1193. message handling systems.  In Proceedings of the Human Factors Society
  1194. 26th Annual Meeting (pp. 69-73).  Santa Monica, CA: Human Factors
  1195. Society.
  1196.  
  1197. %p "goodwin 1983" 4
  1198. Goodwin, N. C. (1983).  Designing a multipurpose menu driven user
  1199. interface to computer based tools.  In Proceedings of the Human Factors
  1200. Society 27th Annual Meeting (pp. 816-820).  Santa Monica, CA: Human
  1201. Factors Society.
  1202.  
  1203. %p "goodwin 1984" 3
  1204. Goodwin, N. C. (1984).  Building a usable office support system from
  1205. diverse components.  In Shackel, B. (Ed.), Human-Computer Interaction
  1206. INTERACT'84 (pp. 577-581).  Amsterdam: Elsevier Science Publishers.
  1207.  
  1208. %p "gould 1981 ~ 1.3/3 1.3/27 " 2
  1209. Gould, J. D. (1981).  Composing letters with computer-based text
  1210. editors.  Human Factors, 23, 593-606.
  1211.  
  1212. %p "gould grischkowsky 1984 ~ 2.1/2 " 3
  1213. Gould, J. D., and Grischkowsky, N. (1984).  Doing the same work with
  1214. hard copy and with cathode-ray tube (CRT) computer terminals.  Human
  1215. Factors, 26, 323-337.
  1216.  
  1217. %p "gould lewis 1983" 4
  1218. Gould, J. D., and Lewis, C. (1983).  Designing for usability -- Key
  1219. principles and what designers think.  In Proceedings of CHI'83 Human
  1220. Factors in Computing Systems (pp. 50-53).  New York: Association for
  1221. Computing Machinery.
  1222.  
  1223. %p "granda teitelbaum dunlap 1982 ~ 2.5/11 3.1.5/2 " 4
  1224. Granda, R. E., Teitelbaum, R. C., and Dunlap, G. L. (1982).  The effect
  1225. of VDT command line location on data entry behavior.  In Proceedings of
  1226. the Human Factors Society 26th Annual Meeting (pp. 621-624).  Santa
  1227. Monica, CA: Human Factors Society.
  1228.  
  1229. %p "gregory poulton 1970 ~ 2.1/8 " 3
  1230. Gregory, M., and Poulton, E. C. (1970).  Even versus uneven right-hand
  1231. margins and the rate of comprehension in reading.  Ergonomics, 13,
  1232. 427-434.
  1233.  
  1234. %p "grudin barnard 1984 ~ 3.1.5/5 " 3
  1235. Grudin, J., and Barnard, P. (1984).  The cognitive demands of learning
  1236. and representing command names for text editing.  Human Factors, 26,
  1237. 407-422.
  1238.  
  1239. %p "hakkinen williges 1984 ~ 2.6/42 4.0/29 " 3
  1240. Hakkinen, M. T., and Williges, B. H. (1984).  Synthesized warning
  1241. messages: Effects of an alerting cue in single- and multiple-function
  1242. voice synthesis systems.  Human Factors, 26, 185-195.
  1243.  
  1244. %p "hamill 1980 ~ 2.3/4 " 4
  1245. Hamill, B. W. (1980).  Experimental document design: Guidebook
  1246. organization and index formats.  In Proceedings of the Human Factors
  1247. Society 24th Annual Meeting (pp. 480-483).  Santa Monica, CA: Human
  1248. Factors Society.
  1249.  
  1250. %p "hannemyr innocent 1985 ~ 5.4/8 " 4
  1251. Hannemyr, G., and Innocent, P. R. (1985).  A network user interface:
  1252. Incorporating human factors guidelines into the ISO standard for open
  1253. systems interconnection.  Behaviour and Information Technology, 4,
  1254. 309-326.
  1255.  
  1256. %p "hanson payne shiveley kantowitz 1981 ~ 2.4/3 " 4
  1257. Hanson, R. H., Payne, D. G., Shiveley, R. J., and Kantowitz, B. H.
  1258. (1981).  Process control simulation research in monitoring analog and
  1259. digital displays.  In Proceedings of the Human Factors Society 25th
  1260. Annual Meeting (pp. 154-158).  Santa Monica, CA: Human Factors Society.
  1261.  
  1262. %p "hartley young burnhill 1975 ~ 2.3/7 " 2
  1263. Hartley, J., Young, M., and Burnhill, P. (1975).  On the typing of
  1264. tables.  Applied Ergonomics, 6, 39-42.
  1265.  
  1266. %p "haskett 1984 ~ 6.1/1 6.1/3 6.1/7 " 3
  1267. Haskett, J. A. (1984).  Pass-algorithms: A user validation scheme based
  1268. on knowledge of secret algorithms.  Communications of the ACM, 27,
  1269. 777-781.
  1270.  
  1271. %p "hayes 1985 ~ 3.1.7/1 " 3
  1272. Hayes, P. (1985).  A panel on the utility of natural languages.  In
  1273. Proceedings of CHI'85 Conference on Human Factors in Computing Systems
  1274. (p. 19).  New York: Association for Computing Machinery.
  1275.  
  1276. %p "hirsh-pasek nudelman schneider 1982 ~ 1.0/19 " 3
  1277. Hirsh-Pasek, K., Nudelman, S., and Schneider, M. L. (1982).  An
  1278. experimental evaluation of abbreviation schemes in limited lexicons.
  1279. Behaviour and Information Technology, 1, 359-369.
  1280.  
  1281. %p "hollingsworth dray 1981 ~ 3.1.4/11 " 4
  1282. Hollingsworth, S. R., and Dray, S. M. (1981).  Implications of
  1283. post-stimulus cueing of response options for the design of function
  1284. keyboards.  In Proceedings of the Human Factors Society 25th Annual
  1285. Meeting (pp. 263-265).  Santa Monica, CA: Human Factors Society.
  1286.  
  1287. %p "hopkin taylor 1979 ~ 2.4/12 2.4.8/3 " 4
  1288. Hopkin, V. D., and Taylor, R. M. (1979).  Human Factors in the Design
  1289. and Evaluation of Aviation Displays (Report AGARD-AG-225).  Neuilly sur
  1290. Seine: NATO Advisory Group for Aerospace Research and Development.
  1291. (NTIS No. AD A076 631)
  1292.  
  1293. %p "hfs human factors society 1984" 1
  1294. Human Factors Society.  (1984).  Author's Guide.  Santa Monica, CA.
  1295.  
  1296. %p "keister gallaway 1983 ~ 1.0/7 1.0/28 4.4/24 " 4
  1297. Keister, R. S., and Gallaway, G. R. (1983).  Making software user
  1298. friendly: An assessment of data entry performance.  In Proceedings of
  1299. the Human Factors Society 27th Annual Meeting (pp. 1031-1034).  Santa
  1300. Monica, CA: Human Factors Society.
  1301.  
  1302. %p "koved shneiderman 1986 ~ 3.1.3/20 3.1.8/5 " 2
  1303. Koved, L., and Shneiderman, B. (1986).  Embedded menus: Selecting items
  1304. in context.  Communications of the ACM, 29, 312-318.
  1305.  
  1306. %p "krohn 1983 ~ 2.4.7/5 " 2
  1307. Krohn, G. S. (1983).  Flowcharts used for procedural instructions.
  1308. Human Factors, 25, 573-581.
  1309.  
  1310. %p "lee lochovsky 1983 ~ 1.3/33 3.5/10 6.0/21 " 4
  1311. Lee, A., and Lochovsky, F. H. (1983).  Enhancing the usability of an
  1312. office information system through direct manipulation.  In Proceedings
  1313. of CHI'83 Human Factors in Computing Systems (pp. 130-134).  New York:
  1314. Association for Computing Machinery.
  1315.  
  1316. %p "liebelt mcdonald stone karat 1982 ~ 3.1.3/22 " 4
  1317. Liebelt, L. S., McDonald, J. E., Stone, J. D., and Karat, J. (1982).
  1318. The effect of organization on learning menu access.  In Proceedings of
  1319. the Human Factors Society 26th Annual Meeting (pp. 546-550).  Santa
  1320. Monica, CA: Human Factors Society.
  1321.  
  1322. %p "limanowski 1983 ~ 4.0/25 4.3/1 4.4/17 4.6/1 4.6/2 " 3
  1323. Limanowski, J. J. (1983).  On-line documentation systems: History and
  1324. issues.  In Proceedings of the Human Factors Society 27th Annual Meeting
  1325. (pp. 1027-1030).  Santa Monica, CA: Human Factors Society.
  1326.  
  1327. %p "magers 1983 ~ 4.0/16 4.0/17 4.2/1 4.3/1 4.4/19 4.4/25 " 3
  1328. Magers, C. S. (1983).  An experimental evaluation of on-line HELP for
  1329. non-programmers.  In Proceedings of CHI'83 Human Factors in Computing
  1330. Systems (pp. 277-281).  New York: Association for Computing Machinery.
  1331.  
  1332. %p "martin 1973 ~ 3.1/1 3.1.5/1 " 2
  1333. Martin, J. (1973).  Design of Man-Computer Dialogues.  Englewood Cliffs,
  1334. NJ: Prentice-Hall.
  1335.  
  1336. %p "martin 1978" 2
  1337. Martin, J. (1978).  The Wired Society.  Englewood Cliffs, NJ:
  1338. Prentice-Hall.
  1339.  
  1340. %p "mcdonald stone liebelt 1983 ~ 3.1.3/22 " 4
  1341. McDonald, J. E., Stone, J. D., and Liebelt, L. S. (1983).  Searching for
  1342. items in menus: The effects of organization and type of target.  In
  1343. Proceedings of the Human Factors Society 27th Annual Meeting (834-837).
  1344. Santa Monica, CA: Human Factors Society.
  1345.  
  1346. %p "michard 1982 ~ 3.1.6/3 3.1.6/4 3.1.6/5 3.1.6/7 3.1.8/7 " 3
  1347. Michard, A. (1982).  Graphical presentation of boolean expressions in a
  1348. database query language: Design notes and an ergonomic evaluation.
  1349. Behaviour and Information Technology, 1, 279-288.
  1350.  
  1351. %p "mil-h-48655b 1979" 3
  1352. MIL-H-48655B.  (1979, 31 January).  Military Specification: Human
  1353. Engineering Requirements for Military Systems, Equipment and Facilities.
  1354. Washington, DC: Department of Defense.
  1355.  
  1356. %p "mil-std-12d 1981" 3
  1357. MIL-STD-12D.  (1981, 29 May).  Abbreviations for Use on Drawings, and in
  1358. Specifications, Standards and Technical Documents.  Washington, DC:
  1359. Department of Defense.
  1360.  
  1361. %p "mil-std-1472b 1974" 3
  1362. MIL-STD-1472B.  (1974, 31 December).  Military Standard: Human
  1363. Engineering Design Criteria for Military Systems, Equipment and
  1364. Facilities.  Washington, DC: Department of Defense.
  1365.  
  1366. %p "ms = mil-std-1472c 1983" 3
  1367. MS = MIL-STD-1472C, Revised.  (1983, 1 September).  Military Standard:
  1368. Human Engineering Design Criteria for Military Systems, Equipment and
  1369. Facilities.  Washington, DC: Department of Defense.
  1370.  
  1371. %p "miller 1981 ~ 3.1.3/27 " 3
  1372. Miller, D. P. (1981).  The depth/breadth tradeoff in hierarchical
  1373. computer menus.  In Proceedings of the Human Factors Society 25th Annual
  1374. Meeting (pp. 296-300).  Santa Monica, CA: Human Factors Society.
  1375.  
  1376. %p "miller 1968 ~ 3.0/18 3.1/2 " 3
  1377. Miller, R. B. (1968).  Response time in user-system conversational
  1378. transactions.  In Proceedings of the AFIPS Fall Joint Computer
  1379. Conference, 33, 267-277.
  1380.  
  1381. %p "milroy poulton 1978 ~ 2.4.3/3 " 2
  1382. Milroy, R., and Poulton, E. C. (1978).  Labelling graphs for improved
  1383. reading speed.  Ergonomics, 21, 55-61.
  1384.  
  1385. %p "mooers 1983 ~ 2.0/7 3.0/6 3.0/13 4.0/18 " 4
  1386. Mooers, C. D. (1983).  Changes that users demanded in the user interface
  1387. to the Hermes message system.  In Proceedings of CHI'83 Human Factors in
  1388. Computing Systems (pp. 88-92).  New York: Association for Computing
  1389. Machinery.
  1390.  
  1391. %p "morrill 1967" 2
  1392. Morrill, C. S. (1967).  Computer-aided instruction as part of a
  1393. management information system.  Human Factors, 9, 251-256.
  1394.  
  1395. %p "morrill davies 1961 ~ 1.1/19 2.7.2/8 " 3
  1396. Morrill, C. S., and Davies, B. L. (1961).  Target tracking and
  1397. acquisition in three dimensions using a two-dimensional display surface.
  1398. Journal of Applied Psychology, 45, 214-221.
  1399.  
  1400. %p "morrill goodwin smith 1968" 2
  1401. Morrill, C. S., Goodwin, N. C., and Smith, S. L. (1968).  User input
  1402. mode and computer-aided instruction.  Human Factors, 10, 225-232.
  1403.  
  1404. %p "moses ehrenreich 1981 ~ 1.0/19 1.0/20 1.0/21 1.0/22 2.0/18 2.0/19 " 3
  1405. Moses, F. L., and Ehrenreich, S. L. (1981).  Abbreviations for automated
  1406. systems.  In Proceedings of the Human Factors Society 25th Annual
  1407. Meeting (pp. 132-135).  Santa Monica, CA: Human Factors Society.
  1408.  
  1409. %p "mosier smith 1986" 3
  1410. Mosier, J. N., and Smith, S. L. (1986).  Application of guidelines for
  1411. designing user interface software.  Behaviour and Information
  1412. Technology, 5, 39-46.
  1413.  
  1414. %p "muter latremouille treurniet beam 1982 ~ 2.1/2 " 3
  1415. Muter, P., Latremouille, S. A., Treurniet, W. C., and Beam, P. (1982).
  1416. Extended readings of continuous text on television screens.  Human
  1417. Factors, 24, 501-508.
  1418.  
  1419. %p "muter mayson 1986 ~ 3.1.8/3 " 2
  1420. Muter, P., and Mayson, C. (1986).  The role of graphics in item
  1421. selection from menus.  Behaviour and Information Technology, 5, 89-95.
  1422.  
  1423. %p "myers 1985 ~ 4.2/3 " 4
  1424. Myers, B. A. (1985).  The importance of percent-done progress indicators
  1425. for computer-human interfaces.  In Proceedings of CHI'85 Human Factors
  1426. in Computing Systems (pp. 11-17).  New York: Association for Computing
  1427. Machinery.
  1428.  
  1429. %p "nasa national aeronautics and space administration 1979" 4
  1430. NASA (National Aeronautics and Space Administration).  (1979, January).
  1431. Spacelab Experiment Computer Application Software (ECAS) Display Design
  1432. and Command Usage Guidelines (Report MSFC-PROC-711).  George C. Marshall
  1433. Space Flight Center, AL: Author.
  1434.  
  1435. %p "neal darnell 1984 ~ 1.3/1 " 3
  1436. Neal, A. S., and Darnell, M. J. (1984).  Text-editing performance with
  1437. partial-line, partial-page, and full-page displays.  Human Factors, 26,
  1438. 431-441.
  1439.  
  1440. %p "neal emmons 1984 ~ 3.5/2 6.0/10 6.3/8 " 2
  1441. Neal, A. S., and Emmons, W. H. (1984).  Error correction during text
  1442. entry with word-processing systems.  Human Factors, 24, 443-447.
  1443.  
  1444. %p "nickerson pew 1971 ~ 3.5/10 6.0/21 " 6
  1445. Nickerson, R. S., and Pew, R. W. (1971, June).  Oblique steps toward the
  1446. human-factors engineering of interactive computer systems.  Published as
  1447. an Appendix in M. C. Grignetti, D. C. Miller, R. S. Nickerson and R. W.
  1448. Pew, Information Processing Models and Computer Aids for Human
  1449. Performance (Report No. 2190).  Cambridge, MA: Bolt, Beranek and
  1450. Newman.  (NTIS No. AD A732 913)
  1451.  
  1452. %p "noyes 1980 ~ 2.4/11 2.4.8/5 2.6/14 " 2
  1453. Noyes, L. (1980).  The positioning of type on maps: The effect of
  1454. surrounding material on word recognition.  Human Factors, 22, 353-360.
  1455.  
  1456. %p "pakin wray 1982 ~ 2.0/13 2.0/15 4.0/19 4.0/23 4.4/9 4.4/11 " 2
  1457. Pakin, S. E., and Wray, P. (1982).  Designing screens for people to use
  1458. easily.  Data Management, 20(7), 36-41.
  1459.  
  1460. %p "palme 1979 ~ 3.1.3/13 3.1.3/21 3.2/13 " 2
  1461. Palme, J. (1979).  A human-computer interface for non-computer
  1462. specialists.  Software -- Practice and Experience, 9, 741-747.
  1463.  
  1464. %p "parsons 1970" 2
  1465. Parsons, H. M. (1970).  The scope of human factors in computer-based
  1466. data processing systems.  Human Factors, 12, 165-175.
  1467.  
  1468. %p "penniman 1979" 2
  1469. Penniman, W. D. (1979, May).  Past chairman's message.  SIG Newsletter
  1470. No. UOI-10.  Washington, DC: American Society for Information Science.
  1471.  
  1472. %p "pr = pew rollins 1975" 3
  1473. PR = Pew, R. W., and Rollins, A. M. (1975).  Dialog Specification
  1474. Procedures (Report 3129, revised).  Cambridge, MA: Bolt Beranek and
  1475. Newman.
  1476.  
  1477. %p "phillips 1982 ~ 2.4.8/7 " 2
  1478. Phillips R. J. (1982).  An experimental investigation of layer tints for
  1479. relief maps in school atlases.  Ergonomics, 25, 1143-1154.
  1480.  
  1481. %p "poller garter 1984 ~ 1.3/2 " 2
  1482. Poller, M. F., and Garter, S. F. (1984).  The effects of modes on text
  1483. editing by experienced editor users.  Human Factors, 26, 449-462.
  1484.  
  1485. %p "price 1981 ~ 5.3/6 6.4/3 6.4/6 " 3
  1486. Price, W. L. (1981).  Encryption in computer networks and message
  1487. systems.  In Uhlig, R. P. (Ed.), Computer Message Systems (pp.
  1488. 413-423).  New York: North-Holland.
  1489.  
  1490. %p "radin 1984 ~ 3.1.5/15 3.2/16 " 3
  1491. Radin, D. I. (1984).  Effects of command language punctuation on human
  1492. performance.  In Salvendy, G. (Ed.), Human-Computer Interaction (pp.
  1493. 177-180).  Amsterdam: Elsevier Science Publishers.
  1494.  
  1495. %p "ramsey atwood 1979" 4
  1496. Ramsey, H. R., and Atwood, M. E. (1979, September).  Human Factors in
  1497. Computer Systems: A Review of the Literature (Technical Report
  1498. SAI-79-111-DEN).  Englewood, CO: Science Applications, Inc.  (NTIS No.
  1499. AD A075 679)
  1500.  
  1501. %p "ramsey atwood 1980" 4
  1502. Ramsey, H. R., and Atwood, M. E. (1980).  Man-computer interface design
  1503. guidance: State of the art.  In Proceedings of the Human Factors Society
  1504. 24th Annual Meeting (pp. 85-89).  Santa Monica, CA: Human Factors
  1505. Society.
  1506.  
  1507. %p "ramsey atwood kirshbaum 1978" 4
  1508. Ramsey, H. R., Atwood, M. E., and Kirshbaum, P. J. (1978, May).  A
  1509. Critically Annotated Bibliography of the Literature of Human Factors in
  1510. Computer Systems (Technical Report SAI-78-070-DEN).  Englewood, CO:
  1511. Science Applications, Inc.  (NTIS No. AD A058 081)
  1512.  
  1513. %p "reisner 1977 ~ 3.1.5/4 " 3
  1514. Reisner, P. (1977).  Use of psychological experimentation as an aid to
  1515. development of a query language.  IEEE Transactions on Software
  1516. Engineering, SE-3, 218-229.
  1517.  
  1518. %p "reisner 1981 ~ 3.0/6 4.0/1 " 3
  1519. Reisner, P. (1981).  Formal grammar and human factors design of an
  1520. interactive graphics system.  IEEE Transactions on Software Engineering,
  1521. SE-7, 229-240.
  1522.  
  1523. %p "roberts moran 1983 ~ 1.3/3 " 3
  1524. Roberts, T. L., and Moran, T. P. (1983).  The evaluation of text
  1525. editors: methodology and empirical results.  Communications of the ACM,
  1526. 26, 265-283.
  1527.  
  1528. %p "rogers moeller 1984 ~ 2.0/18 " 3
  1529. Rogers, W. H., and Moeller, G. (1984).  Comparison of abbreviation
  1530. methods: Measures of preference and decoding performance.  Human
  1531. Factors, 26, 49-59.
  1532.  
  1533. %p "savage habinek blackstad 1982 ~ 1.4/10 " 4
  1534. Savage, R. E., Habinek, J. K., and Blackstad, N. J. (1982).  An
  1535. experimental evaluation of input field and cursor combinations.  In
  1536. Proceedings of the Human Factors Society 26th Annual Meeting (pp.
  1537. 629-633).  Santa Monica, CA: Human Factors Society.
  1538.  
  1539. %p "schutz 1961 ~ 2.4.3/1 " 2
  1540. Schutz (1961)  An evaluation of formats for graphic trend
  1541. displays - Experiment II.  Human Factors, 3, 99-107.
  1542.  
  1543. %p "seibel 1972 ~ 1.0/24 " 4
  1544. Seibel, R. (1972).  Data entry devices and procedures.  In H. P. Van
  1545. Cott and R. G. Kinkade (Eds.), Human Engineering Guide to Equipment
  1546. Design (pp. 311-344).  Washington, DC: U. S. Government Printing
  1547. Office.
  1548.  
  1549. %p "shinar stern bubis ingram 1985 ~ 1.1/12 3.1.3/4 3.1.3/13 " 4
  1550. Shinar, D., Stern, H. I., Bubis, G., and Ingram, D. (1985).  The
  1551. relative effectiveness of alternative strategies in menu driven computer
  1552. programs.  In Proceedings of the Human Factors Society 29th Annual
  1553. Meeting (pp. 645-649).  Santa Monica, CA: Human Factors Society.
  1554.  
  1555. %p "shneiderman 1980" 2
  1556. Shneiderman, B. (1980).  Software Psychology: Human Factors in Computer
  1557. and Information Systems.  Cambridge, MA: Winthrop Publishers.
  1558.  
  1559. %p "shneiderman 1981 ~ 3.1.7/1 " 3
  1560. Shneiderman, B. (1981).  A note on human factors issues of natural
  1561. language interaction with database systems.  Information Systems, 6,
  1562. 125-129.
  1563.  
  1564. %p "shneiderman 1982 ~ 1.0/5 1.3/3 1.3/33 3.1.8/5 3.1.8/7 3.5/10 4.3/1 4.3/3 4.3/5 4.4/17 4.4/30 6.0/21 " 3
  1565. Shneiderman, B. (1982).  The future of interactive systems and the
  1566. emergence of direct manipulation.  Behaviour and Information Technology,
  1567. 1, 237-256.
  1568.  
  1569. %p "shneiderman 1984 ~ 3.0/18 4.2/2 " 2
  1570. Shneiderman, B. (1984).  Response time and display rate in human
  1571. performance with computers.  Computing Surveys, 16, 265-285.
  1572.  
  1573. %p "sidorsky parrish gates munger 1984" 5
  1574. Sidorsky, R. C., Parrish, R. N., Gates, J. L., and Munger, S. J. (1984,
  1575. May).  Design guidelines for user transactions with battlefield
  1576. automated systems: Prototype for a handbook (ARI Research Product
  1577. 84-08).  Alexandria, VA: US Army Research Institute.  (NTIS No. AD A513
  1578. 231)
  1579.  
  1580. %p "simpson mccauley roland ruth williges 1985 ~ 2.6/41 4.0/29 " 3
  1581. Simpson, C. A., McCauley, M. E., Roland, E. F., Ruth, J. C., and
  1582. Williges, B. H. (1985).  System design for speech recognition and
  1583. generation.  Human Factors, 27, 115-142.
  1584.  
  1585. %p "simpson williams 1980 ~ 2.6/42 4.0/29 " 3
  1586. Simpson, C. A., and Williams, D. H. (1980).  Response time effects of
  1587. alerting tone and semantic context for synthesized voice cockpit
  1588. warnings.  Human Factors, 22, 319-330.
  1589.  
  1590. %p "smith irby kimball verplank 1982 ~ 2.4/13 3.1.8/3 " 2
  1591. Smith, D. C., Irby, C., Kimball, R., and Verplank, B. (1982).  Designing
  1592. the Star user interface.  BYTE, 7(4), 242-282.
  1593.  
  1594. %p "smith 1984" 2
  1595. Smith, H. T. (Ed.) (1984).  Computer-Based Message Services.  New York:
  1596. North-Holland.
  1597.  
  1598. %p "smith 1962a ~ 1.2/1 2.6/20 " 2
  1599. Smith, S. L. (1962a).  Angular estimation.  Journal of Applied
  1600. Psychology, 46, 240-246.
  1601.  
  1602. %p "smith 1962b ~ 2.6/26 " 2
  1603. Smith, S. L. (1962b).  Color coding and visual search.  Journal of
  1604. Experimental Psychology, 64, 434-440.
  1605.  
  1606. %p "smith 1963a ~ 2.6/26 " 2
  1607. Smith, S. L. (1963a).  Color coding and visual separability in
  1608. information displays.  Journal of Applied Psychology, 47, 358-364.
  1609.  
  1610. %p "smith 1963b" 3
  1611. Smith, S. L. (1963b).  Man-computer information transfer.  In J. H.
  1612. Howard (Ed.), Electronic Information Display Systems (pp. 284-299).
  1613. Washington, DC: Spartan Books.
  1614.  
  1615. %p "smith 1980" 4
  1616. Smith, S. L. (1980, June).  Requirements definition and design
  1617. guidelines for the man-machine interface in C3 system acquisition
  1618. (Technical Report ESD-TR-80-122).  Hanscom Air Force Base, MA: USAF
  1619. Electronic Systems Division.  (NTIS No. AD A087 258)
  1620.  
  1621. %p "smith 1981a" 4
  1622. Smith, S. L. (1981a, February).  Man-Machine Interface (MMI)
  1623. Requirements Definition and Design Guidelines: A Progress Report
  1624. (Technical Report ESD-TR-81-113).  Hanscom Air Force Base, MA: USAF
  1625. Electronic Systems Division.  (NTIS No. AD A096 705)
  1626.  
  1627. %p "smith 1981b ~ 3.0/16 4.0/23 " 2
  1628. Smith, S. L. (1981b).  Exploring compatibility with words and pictures.
  1629. Human Factors, 23, 305-315.
  1630.  
  1631. %p "smith 1982a" 2
  1632. Smith, S. L. (1982a).  "User-system interface".  Human Factors Society
  1633. Bulletin, 25(3), 1.
  1634.  
  1635. %p "smith 1982b" 4
  1636. Smith, S. L. (1982b, April).  User-System Interface Design for
  1637. Computer-Based Information Systems (Technical Report ESD-TR-82-132).
  1638. Hanscom Air Force Base, MA: USAF Electronic Systems Division.  (NTIS No.
  1639. AD A115 853)
  1640.  
  1641. %p "smith 1986" 2
  1642. Smith, S. L. (1986).  Standards versus guidelines for designing user
  1643. interface software.  Behaviour and Information Technology, 5, 47-61.
  1644.  
  1645. %p "smith aucella 1983a" 4
  1646. Smith, S. L., and Aucella, A. F. (1983a, March).  Design Guidelines for
  1647. the User Interface to Computer-Based Information Systems (Technical
  1648. Report ESD-TR-83-122).  Hanscom Air Force Base, MA: USAF Electronic
  1649. Systems Division.  (NTIS No. AD A127 345)
  1650.  
  1651. %p "smith aucella 1983b ~ 2.3/10 " 2
  1652. Smith, S. L., and Aucella, A. F. (1983b).  Numbering formats for
  1653. hierarchic lists.  Human Factors, 25, 343-348.
  1654.  
  1655. %p "smith farquhar thomas 1965 ~ 2.6/26 " 2
  1656. Smith, S. L., Farquhar, B. B., and Thomas, D. W. (1965).  Color coding
  1657. in formatted displays.  Journal of Applied Psychology, 49, 393-398.
  1658.  
  1659. %p "smith goodwin 1970 ~ 1.4/11 2.6/40 2.6/41 " 2
  1660. Smith, S. L., and Goodwin, N. C. (1970).  Computer-generated speech and
  1661. man-computer interaction.  Human Factors, 12, 215-223.
  1662.  
  1663. %p "smith goodwin 1971a ~ 1.0/25 " 2
  1664. Smith, S. L., and Goodwin, N. C. (1971a).  Alphabetic data entry via the
  1665. Touch-Tone pad: A comment.  Human Factors, 13, 189-190.
  1666.  
  1667. %p "smith goodwin 1971b ~ 2.6/35 2.6/36 " 2
  1668. Smith, S. L., and Goodwin, N. C. (1971b).  Blink coding for information
  1669. display.  Human Factors, 13, 283-290.
  1670.  
  1671. %p "smith goodwin 1972 ~ 2.6/35 " 2
  1672. Smith, S. L., and Goodwin, N. C. (1972).  Another look at blinking
  1673. displays.  Human Factors, 14, 345-347.
  1674.  
  1675. %p "smith mosier 1984a" 4
  1676. Smith, S. L., and Mosier, J. N. (1984a).  Design Guidelines for
  1677. User-System Interface Software (Technical Report ESD-TR-84-190).
  1678. Hanscom Air Force Base, MA: USAF Electronic Systems Division.  (NTIS No.
  1679. AD A154 907)
  1680.  
  1681. %p "smith mosier 1984b" 3
  1682. Smith, S. L., and Mosier, J. N. (1984b).  The user interface to
  1683. computer-based information systems: A survey of current software design
  1684. practice.  Behaviour and Information Technology, 3, 195-203.
  1685.  
  1686. %p "smith thomas 1964 ~ 2.6/26 2.6/31 " 2
  1687. Smith, S. L., and Thomas, D. W. (1964).  Color versus shape coding in
  1688. information displays.  Journal of Applied Psychology, 48, 137-146.
  1689.  
  1690. %p "snowberry parkinson sisson 1983 ~ 3.1.3/27 " 2
  1691. Snowberry, K., Parkinson, S. R., and Sisson, N. (1983).  Computer
  1692. display menus.  Ergonomics, 26, 699-712.
  1693.  
  1694. %p "stewart 1980 ~ 1.4/13 1.4/25 2.0/1 2.0/2 2.0/6 2.4/1 2.5/1 2.5/2 2.5/4 3.0/7 3.1.4/7 3.1.4/15 4.2/2 " 2
  1695. Stewart, T. (1980).  Communicating with dialogues.  Ergonomics, 23,
  1696. 909-919.
  1697.  
  1698. %p "symons schweitzer 1984 ~ 6.1/8 " 2
  1699. Symons, C. R., and Schweitzer, J. A. (1984).  A proposal for an
  1700. automated access control standard.  ACM/SIGCHI Bulletin, 16(1), 17-23.
  1701.  
  1702. %p "tammaro 1983" 4
  1703. Tammaro, S. G. (1983).  An analysis of the use of computer-based office
  1704. support tools: User characteristics and usage patterns.  In Proceedings
  1705. of the Human Factors Society 27th Annual Meeting (pp. 882-886).  Santa
  1706. Monica, CA: Human Factors Society.
  1707.  
  1708. %p "thimbleby 1985" 2
  1709. Thimbleby, H. (1985).  Failure in the technical user-interface design
  1710. process.  Computers and Graphics, 9, 187-193.
  1711.  
  1712. %p "thomas rosson 1984 ~ 4.0/26 4.0/28 " 3
  1713. Thomas, J. C., and Rosson, M. B. (1984).  Human factors and synthetic
  1714. speech.  In Shackel, B. (Ed.), Human-Computer Interaction INTERACT'84
  1715. (pp. 37-42).  Amsterdam: Elsevier Science Publishers.
  1716.  
  1717. %p "thompson 1971 ~ 3.1.3/4 " 3
  1718. Thompson, D. A. (1971).  Interface design for an interactive information
  1719. retrieval system: A literature survey and a research system description.
  1720. Journal of the American Society for Information Science, 22, 361-373.
  1721.  
  1722. %p "trollip sales 1986 ~ 2.1/8 " 2
  1723. Trollip, S. R., Sales, G. (1986).  Readability of computer-generated
  1724. fill-justified text.  Human Factors, 28, 159-163.
  1725.  
  1726. %p "tucker 1984 ~ 2.4/5 2.4/18 " 2
  1727. Tucker, J. B. (1984, June).  Computer graphics achieves new realism.
  1728. High Technology, 40-53.
  1729.  
  1730. %p "tufte 1983 ~ 2.4/4 2.4/5 2.4/7 2.4/8 2.4/11 2.4/14 2.4.1/3 2.4.1/7 2.4.1/12 2.4.3/10 " 2
  1731. Tufte, E. R. (1983).  The Visual Display of Quantitative Information.
  1732. Cheshire, CT: Graphics Press.
  1733.  
  1734. %p "tullis 1981 ~ 2.0/2 2.4/3 2.5/13 2.5/15 2.5/16 " 2
  1735. Tullis, T. S. (1981).  An evaluation of alphanumeric, graphic, and color
  1736. information displays.  Human Factors, 23, 541-550.
  1737.  
  1738. %p "tullis 1983 ~ 2.0/1 2.5/3 " 2
  1739. Tullis, T. S. (1983).  The formatting of alphanumeric displays: A review
  1740. and analysis.  Human Factors, 25, 657-682.
  1741.  
  1742. %p "uhlig 1981" 2
  1743. Uhlig, R. P. (Ed.) (1981).  Computer Message Systems.  New York:
  1744. North-Holland.
  1745.  
  1746. %p "weitzman 1985 ~ 2.6/34 " 3
  1747. Weitzman, D. O. (1985).  Color coding re-viewed.  In Proceedings of the
  1748. Human Factors Society 29th Annual Meeting (pp 1079-1083).  Santa Monica,
  1749. CA: Human Factors Society.
  1750.  
  1751. %p "whalley fleming 1975 ~ 2.1/29 " 3
  1752. Whalley, P. C., and Fleming, R. W. (1975).  An experiment with a simple
  1753. recorder of reading behaviour.  Programmed Learning and Educational
  1754. Technology, 12, 120-124.
  1755.  
  1756. %p "whitfield ball bird 1983 ~ 1.1/1 1.1/3 1.1/4 1.1/13 " 3
  1757. Whitfield, D., Ball R. G., and Bird, J. M. (1983).  Some comparisons of
  1758. on-display and off-display touch input devices for interaction with
  1759. computer generated displays.  Ergonomics, 26, 1033-1053.
  1760.  
  1761. %p "williamson rohlfs 1981 ~ 5.0/7 5.0/10 5.1/10 5.2/4 5.2/8 5.5/3 5.5/9 5.5/18 " 3
  1762. Williamson, H., and Rohlfs, S. (1981).  The user interface design
  1763. process.  In Uhlig, R. P. (Ed.), Computer Message Systems (pp.
  1764. 427-445).  New York: North-Holland.
  1765.  
  1766. %p "williges 1984" 3
  1767. Williges, R. C. (1984).  Design of human-computer dialogues.  In
  1768. Salvendy, G. (Ed.), Human-Computer Interaction (pp. 35-42).  Amsterdam:
  1769. Elsevier Science Publishers.
  1770.  
  1771. %p "woodson 1981" 2
  1772. Woodson, W. E. (1981).  Human Factors Design Handbook.  New York:
  1773. McGraw-Hill.
  1774.  
  1775. %p "wright 1977 ~ 1.0/16 2.1/6 2.1/13 2.1/16 2.1/17 2.1/18 2.1/19 2.1/22 2.3/3 2.3/4 2.4.1/8 2.4.4/11 2.4.7/2 2.4.7/3 2.4.7/4 2.4.7/9 " 2
  1776. Wright, P. (1977).  Presenting technical information: A survey of
  1777. research findings.  Instructional Science, 6, 93-134.
  1778.  
  1779. %p "wright reid 1973 ~ 2.1/13 " 3
  1780. Wright, P., and Reid, F. (1973).  Written information: Some alternatives
  1781. to prose for expressing the outcomes of complex contingencies.  Journal
  1782. of Applied Psychology, 57, 160-166.
  1783.  
  1784. %p "zoltan-ford 1984 ~ 2.0/7 3.0/13 4.0/18 " 4
  1785. Zoltan-Ford, E. (1984).  Reducing variability in natural-language
  1786. interactions with computers.  In Proceedings of the Human Factors
  1787. Society 28th Annual Meeting (pp 768-772).  Santa Monica, CA: Human
  1788. Factors Society.
  1789. %%
  1790.  
  1791. %p GLOSSARY
  1792.  
  1793. %p
  1794. A comprehensive glossary of words dealing with the user interface to
  1795. computer systems could contain hundreds of terms.  Such a glossary would
  1796. be difficult to compile, because terms are often used inconsistently. 
  1797. The glossary presented here is not intended to be a comprehensive
  1798. reference.  Instead, it simply attempts to clarify the meanings of some
  1799. of the terms used in this report.  A term may be included in this
  1800. glossary if it is used inconsistently in the general literature, or
  1801. perhaps if its meaning in this report is more narrow than its commonly
  1802. understood meaning. 
  1803.  
  1804. %p "addressing messages"
  1805. Preparing header information to specify the destination for data to be
  1806. transmitted. 
  1807.  
  1808. %p attribute
  1809. A characteristic of a displayed element such as color, bolding, size,
  1810. pattern or font, which can be specified by a user. 
  1811.  
  1812. %p "backup"
  1813. A capability that returns a user to the last previous display in a
  1814. defined transaction sequence. 
  1815.  
  1816. %p "bar graph"
  1817. A graphic figure in which numeric quantities are represented by the
  1818. linear extent of parallel lines (or bars).  Bar graphs are useful for
  1819. showing a comparative measure for separate entities or for a variable
  1820. sampled at discrete intervals. 
  1821.  
  1822. %p "cancel"
  1823. A capability that regenerates (or re-initializes) the current display
  1824. without processing or retaining any changes made by the user. 
  1825.  
  1826. %p "category"
  1827. A grouping of data values along a dimension defined for operational
  1828. purposes.  For example, an air traffic controller might wish to
  1829. implement the same procedures for all aircraft with speeds in the
  1830. category of 600 to 800 knots.  See also "value". 
  1831.  
  1832. %p "command language"
  1833. A type of dialogue in which a user composes control entries, possibly
  1834. with prompting by the computer. 
  1835.  
  1836. %p "context definition"
  1837. Displaying an indication of previous user actions or computer processing
  1838. that will affect the results of current actions, in order to help a user
  1839. predict how the system will respond. 
  1840.  
  1841. %p "control entry"
  1842. User input for sequence control, such as function key activation, menu
  1843. selection, command entry, etc. 
  1844.  
  1845. %p "controlling transmission"
  1846. Ensuring that transmitted data are delivered, saved until they can be
  1847. delivered, or returned to the sender.  A computer will usually control
  1848. transmission, but users may need information about that process. 
  1849.  
  1850. %p "cursor"
  1851. A marker on the display screen that indicates the current position for
  1852. attention, which may designate a displayed item.  A cursor might be
  1853. positioned under computer control or by the user. 
  1854.  
  1855. %p "curve"
  1856. A graphed line that shows the relation between sets of data defined by
  1857. two continuous variables.  On a curve, data points are sufficiently
  1858. close to appear as a smooth line. 
  1859.  
  1860. %p "data"
  1861. The raw materials from which a user extracts information.  Data may
  1862. include numbers, words, pictures, etc. 
  1863.  
  1864. %p "data base"
  1865. A collection of data that is stored in the computer. 
  1866.  
  1867. %p "data display"
  1868. Output of data from a computer to its users.  Generally, this phrase
  1869. denotes visual output, but it may be qualified to indicate a different
  1870. modality, such as an "auditory display". 
  1871.  
  1872. %p "data entry"
  1873. User input of data for computer processing, and computer responses to
  1874. such inputs. 
  1875.  
  1876. %p "data field"
  1877. An area of the display screen reserved for user entry of a data item. 
  1878.  
  1879. %p "data field label"
  1880. A displayed word or phrase that serves as a prompt for entering an item
  1881. in a data field.  Such a label usually cannot be changed by a user. 
  1882.  
  1883. %p "data item"
  1884. A set of characters of fixed or variable length that forms a single unit
  1885. of data.  Examples of a data item might be a person's last name, or a
  1886. ZIP code.  Sometimes a data item might contain only a single character. 
  1887. Data items may be entered by a user or may be supplied by the computer. 
  1888.  
  1889. %p "data protection"
  1890. Functional capabilities that guard against unauthorized data access and
  1891. tampering, and data loss due to user errors or computer failure. 
  1892.  
  1893. %p "data transmission"
  1894. Computer-mediated communication among system users, and also with other
  1895. systems.  Transmitted data may include numbers, words, pictures, etc. 
  1896.  
  1897. %p "data validation"
  1898. Functional capabilities that check data entry items for correct content
  1899. or format, as defined by software logic. 
  1900.  
  1901. %p "default value"
  1902. A predetermined, frequently used, value for a data or control entry,
  1903. intended to reduce required user entry actions. 
  1904.  
  1905. %p "diagram"
  1906. A special form of a picture in which details are only shown if they are
  1907. necessary for the performance of a task.  For example, an electrical
  1908. wiring diagram for a building would show wiring but not necessarily
  1909. furniture or plumbing. 
  1910.  
  1911. %p "dialogue"
  1912. A structured series of interchanges between a user and a computer.  A
  1913. dialogue can be initiated by a computer (e.g., question and answer) or
  1914. by a user (e.g., command language). 
  1915.  
  1916. %p "dimension"
  1917. A scale or categorization along which data may vary, taking different
  1918. values at different times.  For example, relevant dimensions for an
  1919. aircraft might include its heading, speed and altitude.  See also
  1920. "variable". 
  1921.  
  1922. %p "direction designation"
  1923. User entry of directional data (azimuth, bearing, heading) on a display.
  1924.  
  1925. %p "display"
  1926. See "data display". 
  1927.  
  1928. %p "display control"
  1929. Procedures by which a user can specify what data are shown, and how. 
  1930.  
  1931. %p "display format"
  1932. The organization of different types of data in a display, including
  1933. information about the data such as labels, and other user guidance such
  1934. as prompts, error messages, etc. 
  1935.  
  1936. %p "display framing"
  1937. User control of data coverage by display movement, including paging,
  1938. scrolling, offset, expansion, etc. 
  1939.  
  1940. %p "display selection"
  1941. Refers to the specification of data outputs, either by a user or
  1942. automatically. 
  1943.  
  1944. %p "display tailoring"
  1945. Designing displays to meet the specific task needs of a user, rather
  1946. than providing a general display which can be used for many purposes. 
  1947.  
  1948. %p "display update"
  1949. Regeneration of changing data to show current status, by user request or
  1950. automatically by the computer. 
  1951.  
  1952. %p "drawing"
  1953. Using computer aids to specify lines and other graphic elements, in
  1954. order to create a pictorial representation. 
  1955.  
  1956. %p "enter"
  1957. An explicit user action that effects computer processing of user
  1958. entries.  For example, after typing a series of numbers, a user might
  1959. press an ENTER key that will add them to a data base, subject to data
  1960. validation. 
  1961.  
  1962. %p "entry"
  1963. See "data entry" or "control entry". 
  1964.  
  1965. %p "error management"
  1966. Interface design to facilitate the detection and correction of user
  1967. errors. 
  1968.  
  1969. %p "field"
  1970. See "data field". 
  1971.  
  1972. %p "file"
  1973. A collection of data, treated as a single unit, that is stored in the
  1974. computer. 
  1975.  
  1976. %p "flowchart"
  1977. A diagram that illustrates sequential relations among elements or
  1978. events.  Flowcharts are often shown as boxes connected by arrows. 
  1979.  
  1980. %p "format"
  1981. See "display format". 
  1982.  
  1983. %p "form filling"
  1984. A type of dialogue in which the computer displays forms containing
  1985. labeled fields for data entry by a user. 
  1986.  
  1987. %p "framing"
  1988. See "display framing". 
  1989.  
  1990. %p "function"
  1991. A computer-supported capability provided to users as an aid for task
  1992. performance.  Examples of functions are position designation or
  1993. direction designation. 
  1994.  
  1995. %p "function key"
  1996. A key whose activation will effect a control entry. 
  1997.  
  1998. %p "graphics"
  1999. Data specially formatted to show spatial, temporal, or other relations
  2000. among data sets. 
  2001.  
  2002. %p "graphic element"
  2003. A component part of a graphic display, such as a line, a circle, or a
  2004. scale. 
  2005.  
  2006. %p "graphic interaction"
  2007. A kind of dialogue which permits a user to select displayed control
  2008. elements by pointing and other direct manipulation. 
  2009.  
  2010. %p "hard copy"
  2011. A printed paper display output by the computer. 
  2012.  
  2013. %p "help"
  2014. A capability that displays information upon user request for on-line
  2015. guidance.  HELP may inform a user generally about system capabilities,
  2016. or may provide more specific guidance in information handling
  2017. transactions. 
  2018.  
  2019. %p "highlighting"
  2020. Emphasizing displayed data or format features in some way, e.g., through
  2021. the use of underlining, bolding, or inverse video. 
  2022.  
  2023. %p "information"
  2024. Organized data that users need to successfully perform their tasks. 
  2025. Information serves as an answer to a user's question about data.  It is
  2026. used here to refer to the effective assimilation of data by a user. 
  2027.  
  2028. %p "information system"
  2029. A computer-supported, task-oriented tool designed to help users perform
  2030. defined information handling tasks. 
  2031.  
  2032. %p "initiating transmission"
  2033. The process of actually sending a prepared message or data file. 
  2034. Transmission can either be initiated by the computer, or by a system
  2035. user. 
  2036.  
  2037. %p "input"
  2038. See "control entry" and "data entry". 
  2039.  
  2040. %p "interaction"
  2041. See "transaction". 
  2042.  
  2043. %p "interface"
  2044. See "user-system interface". 
  2045.  
  2046. %p "interrupt"
  2047. Stopping an ongoing transaction in order to redirect the course of the
  2048. processing.  Examples of interrupt options are BACKUP, REVIEW, CANCEL,
  2049. RESTART. 
  2050.  
  2051. %p "item"
  2052. See "data item". 
  2053.  
  2054. %p "job"
  2055. A set of responsibilities and activities that are defined for each
  2056. system user. 
  2057.  
  2058. %p "label"
  2059. A title or descriptor that helps a user identify displayed data.  See
  2060. "data field label". 
  2061.  
  2062. %p "line graph"
  2063. A scaled figure that shows relations among sets of data defined by two
  2064. continuous variables.  On a line graph, data points are connected by
  2065. straight line segments. 
  2066.  
  2067. %p "menu selection"
  2068. A type of dialogue in which a user selects one item out of a list of
  2069. displayed alternatives, whether the selection is by pointing, by entry
  2070. of an associated option code, or by activation of an adjacent function
  2071. key. 
  2072.  
  2073. %p "message"
  2074. Refers specifically to data that are transmitted as a discrete
  2075. transaction from one computer user to another along with formal header
  2076. information, and may sometimes refer loosely to other forms of data
  2077. transmission.  See "data transmission". 
  2078.  
  2079. %p "natural language"
  2080. A type of dialogue in which a user composes control entries in natural
  2081. language (e.g., English, Spanish, French) rather than by a more formally
  2082. constrained command language. 
  2083.  
  2084. %p "operator"
  2085. See "user". 
  2086.  
  2087. %p "output"
  2088. See "data Display". 
  2089.  
  2090. %p "page"
  2091. The data appearing at one time on a single display screen. 
  2092.  
  2093. %p "panning"
  2094. An orientation for display framing in which a user conceives of the
  2095. display frame as moving over a fixed array of data.  The opposite of
  2096. scrolling. 
  2097.  
  2098. %p "picture"
  2099. A detailed representation of a real or imaginary object or event. 
  2100.  
  2101. %p "pie charts"
  2102. A circle divided into sections (as pieces of a pie) in order to
  2103. represent graphically the relative proportions of different parts of a
  2104. whole. 
  2105.  
  2106. %p "plotting data"
  2107. Locating data points on a scaled graphic display by means of
  2108. coordinates. 
  2109.  
  2110. %p "position designation"
  2111. User selection and entry of a position on a display, or of a displayed
  2112. item.  See also "cursor". 
  2113.  
  2114. %p "preparing messages"
  2115. Includes specification of contents, format and header information. 
  2116.  
  2117. %p "query language"
  2118. A type of dialogue in which a user composes control entries requesting
  2119. specified data from a data base. 
  2120.  
  2121. %p "question and answer"
  2122. A type of dialogue in which a computer displays questions, one at a
  2123. time, for a user to answer. 
  2124.  
  2125. %p "receiving messages"
  2126. Includes provision of computer aids for queuing, reviewing, filing or
  2127. otherwise disposing of data transmitted to a user from some other
  2128. source. 
  2129.  
  2130. %p "restart"
  2131. A capability that cancels all user entries in a defined transaction
  2132. sequence. 
  2133.  
  2134. %p "review"
  2135. A capability that returns a user to the first display in a defined
  2136. transaction sequence, while retaining any entries made by the user. 
  2137.  
  2138. %p "scaling"
  2139. The positioning of displayed data elements with respect to a defined
  2140. measurement standard. 
  2141.  
  2142. %p "scatterplot"
  2143. A scaled graph which shows relations among individual data points in a
  2144. two dimensional array. 
  2145.  
  2146. %p "screen"
  2147. See "page". 
  2148.  
  2149. %p "scrolling"
  2150. An orientation for display framing in which a user conceives of data as
  2151. moving behind a fixed display frame.  The opposite of panning. 
  2152.  
  2153. %p "selecting"
  2154. A user's action of identifying display elements to the computer in order
  2155. to manipulate those elements in some way, e.g., to move them, or change
  2156. their attribute(s), or delete them. 
  2157.  
  2158. %p "selection, display"
  2159. See "display selection". 
  2160.  
  2161. %p "sequence control"
  2162. Logic and means by which user actions and computer responses are linked
  2163. to become coherent transactions. 
  2164.  
  2165. %p "situation display"
  2166. A type of diagram on which changing data are shown on a fixed
  2167. background. 
  2168.  
  2169. %p "specification"
  2170. See "selection". 
  2171.  
  2172. %p "status information"
  2173. Information on current data processing status which is displayed to a
  2174. user either automatically or by user request, perhaps indicating system
  2175. load, keyboard lock, or processing delay. 
  2176.  
  2177. %p "suppression"
  2178. User control of displayed data by temporary deletion of specified data
  2179. categories. 
  2180.  
  2181. %p "suspense file"
  2182. A temporary collection of data saved by a computer for later use. 
  2183.  
  2184. %p "system"
  2185. See "information system". 
  2186.  
  2187. %p "task"
  2188. A series of transactions that comprises part of a user's defined job. 
  2189.  
  2190. %p "terminal"
  2191. An input/output device used to enter and display data.  Data are usually
  2192. entered via a keyboard, and are usually displayed via a video screen
  2193. ("soft copy") or a printer ("hard copy"). 
  2194.  
  2195. %p "text entry"
  2196. Initial entry and subsequent editing of textual data. 
  2197.  
  2198. %p "transaction"
  2199. An action by a user followed by a response from the computer. 
  2200. Transaction is used here to represent the smallest functional unit of
  2201. user-system interaction. 
  2202.  
  2203. %p "transmission control"
  2204. Controlling the sequence, content, format, routine, timing, etc., of
  2205. data transmission. 
  2206.  
  2207. %p "update"
  2208. See "display update". 
  2209.  
  2210. %p "user"
  2211. Any person who uses an information system in performing his/her job. 
  2212.  
  2213. %p "user guidance"
  2214. Computer prompts and feedback that aid users in performing their tasks. 
  2215. Examples include data field labels, alarm or alert signals, error
  2216. messages, and HELP displays. 
  2217.  
  2218. %p "user records"
  2219. Automatic recording of user performance, e.g., data access records,
  2220. error records, requests for HELP. 
  2221.  
  2222. %p "user-system interface
  2223. All aspects of information system design that affect a user's
  2224. participation in information handling transactions. 
  2225.  
  2226. %p "value"
  2227. Specific data for a particular dimension or variable.  For example,
  2228. values for an aircraft's speed might be 800 knots during one observation
  2229. and 500 knots during another.  See also "category". 
  2230.  
  2231. %p "variable"
  2232. See "dimension". 
  2233.  
  2234. %p "window"
  2235. A portion of a display screen showing a particular kind of information,
  2236. e.g., a command entry window, or a window for displaying error messages.
  2237. Windows may be stable features of a display format, i.e, defined by
  2238. system designers, or may be temporary, i.e., window overlays requested
  2239. by a user for temporary display of data, menus, etc. 
  2240.  
  2241. %p "window overlay"
  2242. A portion of a display that is temporarily used to show added features
  2243. such as requested data, menus, user guidance, etc., which may obscure
  2244. initially-displayed data. 
  2245.  
  2246. %p "work station"
  2247. The physical facilities with which a user works and the relevant
  2248. environment, including such things as computer terminals, source
  2249. documents, desks, chairs, and lighting. 
  2250. %%
  2251. %s "1 DATA ENTRY"
  2252.  
  2253. %p
  2254. Data entry refers to user actions involving input of data to a computer,
  2255. and computer responses to such inputs.  The simplest kind of data entry
  2256. consists merely of pointing at something -- selecting an item or
  2257. designating a position on a computer-generated display.  In more
  2258. complicated modes of data entry, a user may have to control the format
  2259. of data inputs as well as their contents.  Thus questions of format
  2260. control in text entry/editing and graphic interaction may properly be
  2261. considered questions of data entry.
  2262.  
  2263. %p
  2264. Note, however, that user inputs which initiate or interrupt transactions
  2265. -- such as command entries, or control entries selected from a displayed
  2266. menu or by function keys -- pose rather different questions of design.
  2267. Such control entries are discussed in Section 3 of these guidelines.
  2268.  
  2269. %p
  2270. Data can be entered into a computer in a variety of different ways.
  2271. Users might designate position or direction by pointing at a display.
  2272. Users might enter numbers, letters, or more extended textual material by
  2273. keyed inputs, or in some applications by spoken inputs.  Data might be
  2274. keyed into displayed forms or tables, into constrained message formats,
  2275. or as free text.  In graphic interaction users might draw pictures or
  2276. manipulate displayed graphic elements.  These different types of data
  2277. entry all merit consideration here.
  2278.  
  2279. %p
  2280. The computer will also play a role in the data entry process, guiding
  2281. users who need help, checking data entries to detect errors, and
  2282. providing other kinds of data processing aids.  A designer of user
  2283. interface software must be concerned about computer processing logic as
  2284. well as data input by the user.
  2285.  
  2286. %p
  2287. Data entry is heavily emphasized in clerical jobs, and many other jobs
  2288. involve data entry to some degree.  Because data entry is so common, and
  2289. because inefficiencies caused by poorly designed data entry transactions
  2290. are so apparent, many published recommendations for good user interface
  2291. design deal with data entry questions.  Human factors specialists can
  2292. probably give better advice about data entry than about any other
  2293. functional area of user interface design.
  2294.  
  2295. %p
  2296. Data entry requires hardware, and the proper design of input devices has
  2297. received considerable attention, including concern for standardization
  2298. of keyboard layouts.  Future advances in hardware design may well
  2299. influence data entry tasks, as suggested by current advocacy of voice
  2300. input.
  2301.  
  2302. %p
  2303. But the major need in today's information systems is for improving the
  2304. logic of data entry, and it is there that design guidance should prove
  2305. most helpful.  Thus the guidelines presented here deal with data entry
  2306. functions, insofar as possible, without regard to their hardware
  2307. implementation.
  2308.  
  2309. %p
  2310. The general objectives of designing data entry functions are to
  2311. establish consistency of data entry transactions, minimize input actions
  2312. and memory load on the user, ensure compatibility of data entry with
  2313. data display, and provide flexibility of user control of data entry.
  2314. Stated in such general terms, these principles do not provide helpful
  2315. guidance to designers.  Somehow these general ideas must be converted
  2316. into more specific guidelines.
  2317.  
  2318. %p
  2319. The process of converting general principles into more detailed
  2320. guidelines will lead to a considerable proliferation of ideas.  With
  2321. regard to minimizing input actions, one guideline might be that a user
  2322. should not have to enter the same data twice.  Probably every designer
  2323. knows that, even if it is sometimes forgotten.  A related guideline
  2324. might be that a user should not have to enter data already entered by
  2325. another user.  That seems to make good sense, although one could imagine
  2326. occasional exceptions when cross validation of data inputs is required.
  2327.  
  2328. %p
  2329. How can duplicative data entry be avoided in practice?  The solution
  2330. lies in designing the user interface (programming the computer) to
  2331. maintain context.  Thus when a user identifies a data category of
  2332. interest, say a squadron of aircraft, the computer should be able to
  2333. access all previously entered data relevant to that squadron and not
  2334. require the user to enter such data again.
  2335.  
  2336. %p
  2337. In repetitive data entry transactions the user should have some means of
  2338. establishing context.  One method is to allow users to define default
  2339. entries for selected data items, in effect telling the computer that
  2340. those items will stay the same until the default value is changed or
  2341. removed.  If a user enters one item of data about a particular squadron,
  2342. it should be possible to enter other items thereafter without having to
  2343. re-identify that squadron.
  2344.  
  2345. %p
  2346. Context should also be preserved to speed correction of input errors.
  2347. One significant advantage of on-line data entry is the opportunity for
  2348. immediate computer validation of user inputs, with timely feedback so
  2349. that a user can correct errors while the data are still fresh in mind
  2350. and while documented source data are still at hand.  Here the computer
  2351. should preserve the context of each data entry transaction, saving
  2352. correct items so that the user does not have to enter those again while
  2353. changing incorrect items.
  2354.  
  2355. %p
  2356. Preservation of context is, of course, important in all aspects of
  2357. user-system interaction, with implications for data display, sequence
  2358. control and user guidance, as well as for data entry.  The importance of
  2359. context is emphasized again in the discussion of those other functional
  2360. areas.
  2361.  
  2362. %p
  2363. Another important design concept is flexibility.  It is easy to say that
  2364. the interface should adapt flexibly to user needs, but the specific
  2365. means of achieving such flexibility must be spelled out in design
  2366. guidelines.  For data entry functions it is important that the pacing of
  2367. inputs be controlled flexibly by the user.  Tasks where the pacing of
  2368. user inputs is set by a machine are stressful and error-prone.
  2369.  
  2370. %p
  2371. Aside from flexibility in pacing, users will often benefit from having
  2372. some flexible choice in the ordering of inputs.  What is needed for
  2373. interface design is some sort of suspense file to permit flexible
  2374. ordering of data entries, including temporary omission of unknown items,
  2375. backup to correct mistaken entries, cancellation of incomplete
  2376. transactions, etc.
  2377.  
  2378. %p
  2379. As noted above, users may also benefit from flexibility in defining
  2380. default options to simplify data entry during a sequence of
  2381. transactions.  Some systems include only those defaults anticipated by
  2382. the designers, which may not prove helpful to the user in a particular
  2383. instance.  Thus the concept of flexibility is related to maintaining
  2384. context, and is related also to many other aspects of interface design.
  2385.  
  2386. %p
  2387. The guidelines proposed here deal with data entry in terms of specific
  2388. functions, covering different kinds of data entry and different kinds of
  2389. computer processing support.  Some topics, such as "abbreviation", which
  2390. pertain to all data entry are covered in an initial group of guidelines
  2391. dealing generally with the subject.  A summary of the functional
  2392. coverage in this section is presented on the next page.  These
  2393. guidelines recommend specific ways to accomplish the fundamental design
  2394. objectives for data entry.
  2395.  
  2396. %p "Objectives"
  2397. Consistency of data entry transactions
  2398. Minimal entry actions by user
  2399. Minimal memory load on user
  2400. Compatibility of data entry with data display
  2401. Flexibility for user control of data entry
  2402. %a "1.0    General"
  2403.  
  2404. %p
  2405. Data entry refers to user actions involving input of data to a computer,
  2406. and computer responses to such inputs.
  2407. %g "1.0/1      Data Entered Only Once" 0
  2408.  
  2409. %p
  2410. Ensure that a user need enter any particular data only once, and that
  2411. the computer can access those data if needed thereafter for the same
  2412. task or for different tasks.
  2413.  
  2414. %p "Comment"
  2415. In effect, this recommendation urges integrated and flexible software
  2416. design so that different programs can access previously entered data as
  2417. needed.  Requiring re-entry of data would impose duplicative effort on
  2418. users and increase the possibility of entry errors.
  2419.  
  2420. %p "See also"
  2421. 1.8/9
  2422. %g "1.0/2      Entry via Primary Display" 0
  2423.  
  2424. %p
  2425. When data entry is a significant part of a user's task, entered data
  2426. should appear on the user's primary display.
  2427.  
  2428. %p "Example"
  2429. As a negative example, entry via typewriter is acceptable only if the
  2430. typewriter itself, under computer control, is the primary display
  2431. medium.
  2432.  
  2433. %p "Comment"
  2434. When the primary display is basically formatted for other purposes, such
  2435. as a graphic display for process control, a separate window on the
  2436. display may have to be reserved for data entry.
  2437. %g "1.0/3      Feedback During Data Entry" 0
  2438.  
  2439. %p
  2440. Provide displayed feedback for all user actions during data entry;
  2441. display keyed entries stroke by stroke.
  2442.  
  2443. %p "Exception"
  2444. For reasons of data protection, it may not be desirable to display
  2445. passwords and other secure entries.
  2446.  
  2447. %p "Reference"
  2448. EG 6.3.7
  2449. MS 5.15.2.1.2 5.15.2.2.3
  2450.  
  2451. %p "See also"
  2452. 3.0/14 4.2/1
  2453. %g "1.0/4      +  Fast Response" 0
  2454.  
  2455. %p
  2456. Ensure that the computer will acknowledge data entry actions rapidly, so
  2457. that users are not slowed or paced by delays in computer response; for
  2458. normal operation, delays in displayed feedback should not exceed 0.2
  2459. seconds.
  2460.  
  2461. %p "Example"
  2462. A key press should be followed by seemingly immediate display of its
  2463. associated symbol, or by some other appropriate display change.
  2464.  
  2465. %p "Comment"
  2466. This recommendation is intended to ensure efficient operation in
  2467. routine, repetitive data entry tasks.  Longer delays may be tolerable in
  2468. special circumstances, perhaps to reduce variability in computer
  2469. response, or perhaps in cases where data entry comprises a relatively
  2470. small portion of the user's task.
  2471.  
  2472. %p "Comment"
  2473. Note that this guideline refers to acknowledgment, rather than final
  2474. processing of entries which may be deferred pending an explicit ENTER
  2475. action.
  2476.  
  2477. %p "Reference"
  2478. EG Table 2
  2479.  
  2480. %p "See also"
  2481. 3.0/18 3.0/19
  2482. %g "1.0/5      Single Method for Entering Data" 0
  2483.  
  2484. %p
  2485. Design the data entry transactions and associated displays so that a
  2486. user can stay with one method of entry, and not have to shift to
  2487. another.
  2488.  
  2489. %p "Example"
  2490. Minimize shifts from lightpen to keyboard entry and then back again.
  2491.  
  2492. %p "Example"
  2493. As a negative example, a user should not have to shift from one keyboard
  2494. to another, or move from one work station to another, to accomplish
  2495. different data entry tasks.
  2496.  
  2497. %p "Comment"
  2498. This, like other guidelines here, assumes a task-oriented user, busy or
  2499. even overloaded, who needs efficiency of data entry.
  2500.  
  2501. %p "Reference"
  2502. BB 2.11
  2503. EG 6.1.1
  2504. Foley Wallace 1974
  2505. Shneiderman 1982
  2506.  
  2507. %p "See also"
  2508. 1.1/14
  2509. %g "1.0/6      Defined Display Areas for Data Entry" 0
  2510.  
  2511. %p
  2512. Where data entry on an electronic display is permitted only in certain
  2513. areas, as in form filling, provide clear visual definition of the entry
  2514. fields.
  2515.  
  2516. %p "Example"
  2517. Data entry fields might be underlined, or perhaps highlighted by reverse
  2518. video.
  2519.  
  2520. %p "Exception"
  2521. For general text entry of variable (unrestricted) length, no field
  2522. delimiters are needed.  In effect, keyed text entries can replace
  2523. nothing (null characters).
  2524.  
  2525. %p "Comment"
  2526. Display formats with field delimiters provide explicit user guidance as
  2527. to the location and extent of data entry fields.  Where delimiters
  2528. extend throughout an entry field, as in underlining, then any keyed data
  2529. entries should replace the delimiter characters on the display.
  2530.  
  2531. %p "Reference"
  2532. BB 2.2.1
  2533.  
  2534. %p "See also"
  2535. 1.4/10
  2536. %g "1.0/7      Consistent Method for Data Change" 0
  2537.  
  2538. %p
  2539. In keyed data entry, always allow users to change previous entries if
  2540. necessary (including displayed default values) by delete and insert
  2541. actions; if data change is sometimes made by direct character
  2542. substitution ("typeover"), then that option should also be consistently
  2543. available.
  2544.  
  2545. %p "Example"
  2546. Form filling may require typeover to replace displayed characters such
  2547. as underscores that act as field delimiters.
  2548.  
  2549. %p "Comment"
  2550. Text editing on an electronic display can be handled with or without
  2551. typeover; there seems to be no published research on the relative
  2552. efficiency of user performance under these two conditions.
  2553.  
  2554. %p "Comment"
  2555. Using typeover, there is some risk of user confusion in replacement of
  2556. an old value with a new one, during the transitional period when the
  2557. item being changed is seen as a composite beginning with the new value
  2558. and ending with the old.  Some designers do not permit overtyping for
  2559. that reason.
  2560.  
  2561. %p "Comment"
  2562. In some applications it may help the user to key a new entry directly
  2563. above or below display of the prior entry it will replace, if that is
  2564. done consistently.  Here the user can compare values before confirming
  2565. entry of the new data and deletion of the old.
  2566.  
  2567. %p "Reference"
  2568. BB 2.10
  2569. Keister Gallaway 1983
  2570. %g "1.0/8      User-Paced Data Entry" 0
  2571.  
  2572. %p
  2573. Allow users to pace their data entry, rather than having the pace being
  2574. controlled by computer processing or external events.
  2575.  
  2576. %p "Comment"
  2577. The timing of user-paced data entry will fluctuate depending upon a
  2578. user's momentary needs, attention span and time available.  At maximum
  2579. speed, user-paced performance is more accurate than that achieved by
  2580. machine pacing.
  2581.  
  2582. %p "Comment"
  2583. When user pacing does not seem feasible, as in some real-time process
  2584. control applications, reconsider the general approach to task allocation
  2585. and interface design.
  2586.  
  2587. %p "Reference"
  2588. MS 5.15.2.1.1
  2589. Bertelson Boons Renkin 1965
  2590. %g "1.0/9      Explicit ENTER Action" 0
  2591.  
  2592. %p
  2593. Always require a user to take an explicit ENTER action to initiate
  2594. processing of entered data; do not initiate processing as a side effect
  2595. of some other action.
  2596.  
  2597. %p "Example"
  2598. As a negative example, returning to a menu of control options should not
  2599. by itself result in computer processing of data just keyed onto a
  2600. display.
  2601.  
  2602. %p "Exception"
  2603. In routine, repetitive data entry transactions, successful completion of
  2604. one entry may automatically lead to initiation of the next, as in keying
  2605. ZIP codes at an automated post office.
  2606.  
  2607. %p "Comment"
  2608. Deferring processing until after an explicit ENTER action will permit a
  2609. user to review data and correct errors before computer processing,
  2610. particularly helpful when data entry is complex and/or difficult to
  2611. reverse.
  2612.  
  2613. %p "Reference"
  2614. MS 5.15.2.1.4
  2615.  
  2616. %p "See also"
  2617. 1.4/1 1.4/2 3.0/5 4.0/2 6.0/9 6.3/5
  2618. %g "1.0/10     +  ENTER Key Labeling" 0
  2619.  
  2620. %p
  2621. Label an ENTER key explicitly to indicate its function.
  2622.  
  2623. %p "Example"
  2624. As a negative example, the ENTER key should not be labeled in terms of
  2625. mechanism, such as CR or RETURN or XMIT.
  2626.  
  2627. %p "Comment"
  2628. For a novice computer user, the label should perhaps be even more
  2629. explicit, such as ENTER DATA.  Ideally, one consistent ENTER label would
  2630. be adopted for all systems and so become familiar to all users.
  2631.  
  2632. %p "Comment"
  2633. Some other label might serve as well, if it were used consistently.  In
  2634. some current systems the ENTER key is labeled GO or DO, implying a
  2635. generalized command to the computer, "Go off and do it."
  2636.  
  2637. %p "Reference"
  2638. PR 3.3.9
  2639.  
  2640. %p "See also"
  2641. 3.0/16 4.0/10
  2642. %g "1.0/11     Explicit CANCEL Action" 0
  2643.  
  2644. %p
  2645. Require a user to take an explicit action in order to cancel a data
  2646. entry; data cancellation should not be accomplished as a side effect of
  2647. some other action.
  2648.  
  2649. %p "Example"
  2650. As a negative example, casual interruptions of a data entry sequence,
  2651. such as paging through forms, or detouring to HELP displays, should not
  2652. have the effect of erasing partially completed data entries.
  2653.  
  2654. %p "Comment"
  2655. If a requested sequence control action implies a more definite
  2656. interruption, such as a LOG-OFF command, or a command to return to a
  2657. menu display, then the user should be asked to confirm that action and
  2658. alerted to the loss of any data entries that would result.
  2659.  
  2660. %p "See also"
  2661. 3.3
  2662. %g "1.0/12     Feedback for Completion of Data Entry" 0
  2663.  
  2664. %p
  2665. Ensure that the computer will acknowledge completion of a data entry
  2666. transaction with a confirmation message, if data entry was successful,
  2667. or else with an error message.
  2668.  
  2669. %p "Exception"
  2670. In a sequence of routine, repetitive data entry transactions, successful
  2671. completion of one entry might result simply in regeneration of the
  2672. initial (empty) data entry display, in order to speed the next entry in
  2673. the sequence.
  2674.  
  2675. %p "Comment"
  2676. Successful data entry should not be signaled merely by automatic erasure
  2677. of entered data from the display, except possibly in the case of
  2678. repetitive data entries.  For single data entry transactions, it may be
  2679. better to leave entered data on the display until the user takes an
  2680. explicit action to clear the display.
  2681.  
  2682. %p "Reference"
  2683. MS 5.15.5.4
  2684.  
  2685. %p "See also"
  2686. 1.0/3 3.0/14 4.2/1
  2687. %g "1.0/13     +  Feedback for Repetitive Data Entries" 0
  2688.  
  2689. %p
  2690. For a repetitive data entry task that is accomplished as a continuing
  2691. series of transactions, indicate successful entry by regenerating the
  2692. data entry display, automatically removing the just-entered data in
  2693. preparation for the next entry.
  2694.  
  2695. %p "Comment"
  2696. Automatic erasure of entered data represents an exception to the general
  2697. principle of control by explicit user action.  The interface designer
  2698. may adopt this approach, in the interests of efficiency, for data entry
  2699. transactions that task analysis indicates will be performed
  2700. repetitively.
  2701.  
  2702. %p "Comment"
  2703. In addition to erasure of entered data, a message confirming successful
  2704. data entry might be displayed.  Such a message may reassure uncertain
  2705. users, especially in system applications where computer performance is
  2706. unreliable.
  2707.  
  2708. %p "Reference"
  2709. EG 4.2.10
  2710.  
  2711. %p "See also"
  2712. 1.0/3 3.0/14 4.2/1
  2713. %g "1.0/14     +  Feedback when Changing Data" 0
  2714.  
  2715. %p
  2716. If a user requests change (or deletion) of a data item that is not
  2717. currently being displayed, offer the user the option of displaying the
  2718. old value before confirming the change.
  2719.  
  2720. %p "Exception"
  2721. Expert users may sometimes wish to implement data changes without
  2722. displayed feedback, as in "global replace" transactions, accepting the
  2723. attendant risk.
  2724.  
  2725. %p "Comment"
  2726. Displayed feedback will help prevent inadvertent data change, and is
  2727. particularly useful in protecting delete actions.  Like other
  2728. recommendations intended to reduce error, it assumes that accuracy of
  2729. data entry is worth extra effort by the user.  For some tasks, that may
  2730. not be true.
  2731.  
  2732. %p "See also"
  2733. 6.3/16
  2734. %g "1.0/15     Keeping Data Items Short" 0
  2735.  
  2736. %p
  2737. For coded data, numbers, etc., keep data entries short, so that the
  2738. length of an individual item will not exceed 5-7 characters.
  2739.  
  2740. %p "Example"
  2741. Coded data may include such items as badge numbers, payroll numbers,
  2742. mail stops, equipment and part numbers, etc.
  2743.  
  2744. %p "Comment"
  2745. For coded data, lengthy items may exceed a user's memory span, inducing
  2746. errors in both data entry and data review.  The nine-digit ZIP codes
  2747. proposed by the US Postal Service will prove difficult to remember
  2748. accurately.
  2749.  
  2750. %p "Comment"
  2751. Proper names, meaningful words, and other textual material are not coded
  2752. data.  Such items can be remembered more easily, and the length
  2753. restriction recommended here need not apply.
  2754.  
  2755. %p "Reference"
  2756. BB 1.5.2
  2757. EG 6.3.3
  2758. %g "1.0/16     +  Partitioning Long Data Items" 0
  2759.  
  2760. %p
  2761. When a long data item must be entered, it should be partitioned into
  2762. shorter symbol groups for both entry and display.
  2763.  
  2764. %p "Example"
  2765. A 10-digit telephone number can be entered as three groups,
  2766. NNN-NNN-NNNN.
  2767.  
  2768. %p "Reference"
  2769. BB 1.4.1
  2770. MS 5.15.3.1.7 5.15.3.5.7 5.15.3.5.8
  2771. Wright 1977
  2772.  
  2773. %p "See also"
  2774. 2.2/14
  2775. %g "1.0/17     Optional Abbreviation" 0
  2776.  
  2777. %p
  2778. Allow optional abbreviation of lengthy data items to minimize data entry
  2779. keying by expert users, when that can be done without ambiguity.
  2780.  
  2781. %p "Comment"
  2782. Novice and/or occasional users may prefer to make full-form entries,
  2783. while experienced users will learn and benefit from appropriate
  2784. abbreviations.
  2785.  
  2786. %p "Reference"
  2787. BB 2.4.1
  2788. EG 6.3.5
  2789. MS 5.15.2.2.7
  2790. %g "1.0/18     +  Distinctive Abbreviation" 0
  2791.  
  2792. %p
  2793. When defining abbreviations or other codes to shorten data entry, choose
  2794. them to be distinctive in order to avoid confusing similarity with one
  2795. another.
  2796.  
  2797. %p "Example"
  2798. BOS vs. LAS is good; but LAX vs. LAS risks confusion.
  2799.  
  2800. %p "Reference"
  2801. BB 3.1
  2802. MS 5.15.2.1.10
  2803. %g "1.0/19     +  Simple Abbreviation Rule" 0
  2804.  
  2805. %p
  2806. When defining abbreviations, follow some simple abbreviation rule and
  2807. ensure that users understand that rule.
  2808.  
  2809. %p "Example"
  2810. Simple truncation is probably the best rule when that can be done
  2811. without ambiguity.
  2812.  
  2813. %p "Comment"
  2814. When encoding abbreviations for data entry the user must know what the
  2815. rule is.  Truncation provides novice users with a straightforward and
  2816. highly successful method for generating abbreviations, and is a rule
  2817. that can be easily explained.  Moreover, truncation works at least as
  2818. well, and often better than, more complicated rules, such as word
  2819. contraction with omission of vowels.
  2820.  
  2821. %p "Comment"
  2822. Designers of military systems may wish to consult the relevant standard
  2823. for abbreviations, MIL-STD-12D.
  2824.  
  2825. %p "Reference"
  2826. Ehrenreich 1985
  2827. Ehrenreich Porcu 1982
  2828. Hirsh-Pasek Nudelman Schneider 1982
  2829. Moses Ehrenreich 1981
  2830. %g "1.0/20     +  Minimal Exceptions to Abbreviation Rule" 0
  2831.  
  2832. %p
  2833. Use special abbreviations (i.e., those not formed by consistent rule)
  2834. only when they are required for clarity.
  2835.  
  2836. %p "Comment"
  2837. Special abbreviations will sometimes be needed to distinguish between
  2838. words whose abbreviations by rule are identical, or when abbreviation by
  2839. rule forms another word, or when the special abbreviation is already
  2840. familiar to system users.  If more than 10 percent of abbreviations are
  2841. special cases, consider changing the abbreviation rule.
  2842.  
  2843. %p "Reference"
  2844. Moses Ehrenreich 1981
  2845. %g "1.0/21     +  Minimal Deviation from Abbreviation Rule" 0
  2846.  
  2847. %p
  2848. When an abbreviation must deviate from the consistent rule, minimize the
  2849. extent of deviation.
  2850.  
  2851. %p "Example"
  2852. In abbreviation by truncation, letters in the truncated form should be
  2853. changed one at a time until a unique abbreviation is achieved.
  2854.  
  2855. %p "Reference"
  2856. Moses Ehrenreich 1981
  2857. %g "1.0/22     +  Fixed Abbreviation Length" 0
  2858.  
  2859. %p
  2860. Make abbreviations the same length, the shortest possible that will
  2861. ensure unique abbreviations.
  2862.  
  2863. %p "Comment"
  2864. Desirable length will depend upon the vocabulary size of words to be
  2865. abbreviated.  For a vocabulary of 75 words, 4-letter abbreviations might
  2866. suffice.  For smaller vocabularies, still shorter abbreviations might be
  2867. used.
  2868.  
  2869. %p "Reference"
  2870. Moses Ehrenreich 1981
  2871. %g "1.0/23     +  Clarifying Unrecognized Abbreviations" 0
  2872.  
  2873. %p
  2874. When the computer cannot recognize an abbreviated data entry, question
  2875. the user as necessary to resolve any ambiguity.
  2876.  
  2877. %p "Example"
  2878. This may occur when a user enters a misremembered abbreviation.
  2879. %g "1.0/24     Prompting Data Entry" 0
  2880.  
  2881. %p
  2882. Provide prompting for the required formats and acceptable values for
  2883. data entries.
  2884.  
  2885. %p "Example"
  2886.  (Good) | Vehicle type: __  |
  2887.         | c = Car           |
  2888.         | t = Truck         |
  2889.         | b = Bus           |
  2890.  
  2891.  (Bad)  | Vehicle type:  __ |
  2892.  
  2893. %p "Exception"
  2894. Prompting may not be needed by skilled users and indeed may hinder
  2895. rather than help their performance in situations where display output is
  2896. slow (as with Teletype displays); for such users prompting might be
  2897. provided as an optional aid.
  2898.  
  2899. %p "Comment"
  2900. Prompting is particularly needed for coded data entries.  Menu selection
  2901. may be appropriate for that purpose, because menu selection does not
  2902. require the user to remember codes but merely to choose among displayed
  2903. alternatives.  Other methods of prompting include labeling data fields,
  2904. such as
  2905.              | Vehicle type (c/t/b):  __ |
  2906.  
  2907. and/or providing optional guidance displays.
  2908.  
  2909. %p "Reference"
  2910. Gade Fields Maisano Marshall Alderman 1981
  2911. Seibel 1972
  2912.  
  2913. %p "See also"
  2914. 1.4/5 4.4/7 3.1.3
  2915. %g "1.0/25     Character Entry via Single Keystroke" 0
  2916.  
  2917. %p
  2918. Allow users to enter each character of a data item with a single stroke
  2919. of an appropriately labeled key.
  2920.  
  2921. %p "Example"
  2922. As a negative example, when a keyboard is intended primarily for numeric
  2923. input, with several letters grouped on each key such as a telephone
  2924. keypad, do not require a user to make alphabetic entries by double
  2925. keying.
  2926.  
  2927. %p "Comment"
  2928. Devices that involve complex keying methods for alphabetic entry (e.g.,
  2929. pressing more than one key, simultaneously or successively) require
  2930. special user training and risk frequent data entry errors.
  2931.  
  2932. %p "Comment"
  2933. When hardware limitations such as those of a telephone keypad seem to
  2934. require double keying of alphabetic entries, try to limit data codes so
  2935. that only single-keyed (numeric) entries are required.  Alternatively,
  2936. consider providing software to interrogate the user to resolve any
  2937. ambiguities resulting from single-keyed alphabetic entries.
  2938.  
  2939. %p "Reference"
  2940. Butterbaugh Rockwell 1982
  2941. Smith Goodwin 1971a
  2942. %g "1.0/26     +  Minimal Shift Keying" 0
  2943.  
  2944. %p
  2945. Design data entry transactions to minimize the need for shift keying.
  2946.  
  2947. %p "Comment"
  2948. Shift keying can be considered a form of double keying, which imposes a
  2949. demand for extra user attention.  Keyboard designers should put
  2950. frequently used characters where they can be easily keyed.  Conversely,
  2951. software designers should avoid frequent use of characters requiring
  2952. shift keying.
  2953.  
  2954. %p "Reference"
  2955. EG 6.3.12
  2956. %g "1.0/27     Upper and Lower Case Equivalent" 0
  2957.  
  2958. %p
  2959. For coded data entry, treat upper and lower case letters as equivalent.
  2960.  
  2961. %p "Comment"
  2962. For data codes, users find it difficult to remember whether upper or
  2963. lower case letters are required, and so the software design should not
  2964. try to make such a distinction.  For text entry, however, conventional
  2965. use of capitalized letters should be maintained.
  2966.  
  2967. %p "See also"
  2968. 1.3/10 3.0/12
  2969. %g "1.0/28     Decimal Point Optional" 0
  2970.  
  2971. %p
  2972. Allow optional entry or omission of a decimal point at the end of an
  2973. integer as equivalent alternatives.
  2974.  
  2975. %p "Example"
  2976. An entry of "56." should be processed as equivalent to an entry of "56",
  2977. and vice versa.
  2978.  
  2979. %p "Comment"
  2980. If a decimal point is required for data processing, the computer should
  2981. probably be programmed to append one as needed.  Most users will forget
  2982. to do it.
  2983.  
  2984. %p "Reference"
  2985. Keister Gallaway 1983
  2986. %g "1.0/29     Leading Zeros Optional" 0
  2987.  
  2988. %p
  2989. For general numeric data, allow optional entry or omission of leading
  2990. zeros as equivalent alternatives.
  2991.  
  2992. %p "Example"
  2993. If a user enters "56" in a field that is four characters long, the
  2994. system should recognize that entry rather than requiring an entry of
  2995. "0056".
  2996.  
  2997. %p "Exception"
  2998. Special cases may represent exceptions to this rule, such as entry of
  2999. serial numbers or other numeric identifiers.
  3000.  
  3001. %p "Reference"
  3002. BB 2.2.3
  3003. EG 6.3.11
  3004. %g "1.0/30     Single and Multiple Blanks Equivalent" 0
  3005.  
  3006. %p
  3007. Treat single and multiple blank characters as equivalent in data entry;
  3008. do not require users to count blanks.
  3009.  
  3010. %p "Comment"
  3011. People cannot be relied upon to pay careful attention to such details.
  3012. The computer should handle them automatically, e.g., ensuring that two
  3013. spaces follow every period in text entry (if that is the desired
  3014. convention), and spacing other data items in accord with whatever format
  3015. has been defined.
  3016.  
  3017. %p "See also"
  3018. 3.1.5/17
  3019. %g "1.0/31     Aids for Entering Hierarchic Data" 0
  3020.  
  3021. %p
  3022. If a user must enter hierarchic data, where some items will be
  3023. subordinate to others, provide computer aids to help the user specify
  3024. relations in the hierarchic structure.
  3025.  
  3026. %p "Comment"
  3027. For simple data structures, question-and-answer dialogues or form
  3028. filling may suffice to maintain necessary data relations.  For more
  3029. complex data structures, such as those involved in graphic data entry,
  3030. special techniques may be needed to help users specify the relations
  3031. among data entries.
  3032.  
  3033. %p "See also"
  3034. 1.6/18 1.8/12
  3035. %g "1.0/32     Speech Input" 0
  3036.  
  3037. %p
  3038. Consider spoken data input only when data entry cannot be accomplished
  3039. through more reliable methods such as keyed entry or pointing.
  3040.  
  3041. %p "Example"
  3042. Postal workers whose hands are occupied sorting packages might speak ZIP
  3043. codes into a speech recognition device rather than keying entries.
  3044.  
  3045. %p "Comment"
  3046. Current speech recognition devices are not well developed and tend to be
  3047. error prone.  Thus there should be some good reason for choosing speech
  3048. input over more conventional data entry methods.  Speech input might be
  3049. appropriate if a user cannot use his/her hands, perhaps because of a
  3050. physical handicap or because the user's hands are needed to accomplish
  3051. other tasks.  Speech input may also be appropriate if a user does not
  3052. have access to a suitable keyboard, as might be the case if data were
  3053. being entered by telephone.
  3054. %g "1.0/33     +  Limited Vocabulary for Speech Input" 0
  3055.  
  3056. %p
  3057. Structure the vocabulary used for spoken data entry so that only a few
  3058. options are needed for any transaction.
  3059.  
  3060. %p "Comment"
  3061. To increase the likelihood that a user's valid entries are correctly
  3062. identified by the system, the user's vocabulary should be predictable.
  3063. This does not necessarily mean that the vocabulary must be small, though
  3064. recognition systems that can only accommodate small vocabularies are
  3065. more prevalent and less expensive.  A vocabulary is predictable when a
  3066. user's choice of inputs at any given time is small, so that the system
  3067. will be more likely to make a correct match in interpreting an entry.
  3068. %g "1.0/34     +  Phonetically Distinct Vocabulary for Speech Input" 0
  3069.  
  3070. %p
  3071. Ensure that the spoken entries needed for any transaction are
  3072. phonetically distinct from one another.
  3073.  
  3074. %p "Comment"
  3075. Words which are easily distinguished by one speech recognition system
  3076. may be confused by another.  Thus system testing should be performed in
  3077. order to determine what sounds a particular system tends to confuse, and
  3078. what sounds it can distinguish reliably.
  3079. %g "1.0/35     +  Easy Error Correction for Speech Input" 0
  3080.  
  3081. %p
  3082. Provide feedback and simple error correction procedures for speech
  3083. input, so that when a spoken entry has not been correctly recognized by
  3084. the computer, the user can cancel that entry and speak again.
  3085.  
  3086. %p "Comment"
  3087. Simple error correction is particularly important with spoken data
  3088. entry, since speech recognition systems are prone to error except under
  3089. carefully controlled conditions.
  3090. %g "1.0/36     +  Alternative Entries for Speech Input" 0
  3091.  
  3092. %p
  3093. When speech input is the only form of data entry available, allow
  3094. alternatives for critical entries, so that if the system cannot
  3095. recognize an entry after repeated attempts another entry can be
  3096. substituted.
  3097.  
  3098. %p "Example"
  3099. "Exit" might be defined as an acceptable substitute for "Finished".
  3100.  
  3101. %p "Comment"
  3102. Because speech recognition systems are affected by normal variations in
  3103. a user's voice, and by changes in the acoustic environment, a spoken
  3104. entry that was accepted yesterday might not be accepted today.  Thus for
  3105. important entries a user should be able to use an alternative word.
  3106.  
  3107. %p "Comment"
  3108. Spelling a word letter-by-letter is not an acceptable alternative, since
  3109. speech recognition systems may have trouble correctly identifying
  3110. similar sounding letters.
  3111. %g "1.0/37     +  PAUSE and CONTINUE Options for Speech Input" 0
  3112.  
  3113. %p
  3114. Provide PAUSE and CONTINUE options for speech input, so that a user can
  3115. stop speaking without having to log off the system.
  3116.  
  3117. %p "Example"
  3118. A user may wish to stop speaking data for a time in order to answer a
  3119. telephone, or to speak with a fellow worker.  Users should not have to
  3120. log off the system every time they wish to say something that is not
  3121. intended as an entry.
  3122.  
  3123. %p "See also"
  3124. 3.3/8 3.3/9
  3125. %a "1.1    Position Designation"
  3126.  
  3127. %p
  3128. Position designation refers to user selection and entry of a position on
  3129. a display, or of a displayed item.
  3130. %g "1.1/1      Distinctive Cursor" 0
  3131.  
  3132. %p
  3133. For position designation on an electronic display, provide a movable
  3134. cursor with distinctive visual features (shape, blink, etc.).
  3135.  
  3136. %p "Exception"
  3137. When position designation involves only selection among displayed
  3138. alternatives, highlighting selected items might be used instead of a
  3139. separately displayed cursor.
  3140.  
  3141. %p "Comment"
  3142. When choosing a cursor shape, consider the general content of the
  3143. display.  For instance, an underscore cursor would be difficult to see
  3144. on a display of underscored text, or on a graphical display containing
  3145. many other lines.
  3146.  
  3147. %p "Comment"
  3148. If the cursor is changed to denote different functions (e.g., to signal
  3149. deletion rather than entry), then each different cursor should be
  3150. distinguishable from the others.
  3151.  
  3152. %p "Comment"
  3153. If multiple cursors are used on the same display (e.g., one for
  3154. alphanumeric entry and one for line drawing), then each cursor should be
  3155. distinguishable from the others.
  3156.  
  3157. %p "Reference"
  3158. Whitfield Ball Bird 1983
  3159.  
  3160. %p "See also"
  3161. 1.1/17 4.0/9
  3162. %g "1.1/2      +  Nonobscuring Cursor" 0
  3163.  
  3164. %p
  3165. Design the cursor so that it does not obscure any other character
  3166. displayed in the position designated by the cursor.
  3167.  
  3168. %p "Example"
  3169. A block cursor might employ brightness inversion ("reverse video") to
  3170. show any other character that it may be marking.
  3171. %g "1.1/3      +  Precise Pointing" 0
  3172.  
  3173. %p
  3174. When fine accuracy of positioning is required, as in some forms of
  3175. graphic interaction, design the displayed cursor to include a point
  3176. designation feature.
  3177.  
  3178. %p "Example"
  3179. A cross may suffice (like cross-hairs in a telescope), or perhaps a
  3180. notched or V-shaped symbol (like a gun sight).
  3181.  
  3182. %p "Comment"
  3183. Precise pointing will also require a cursor control device capable of
  3184. precise manipulation.  Touch displays, for example, will not permit
  3185. precise pointing.
  3186.  
  3187. %p "Reference"
  3188. MS 5.15.2.1.8.2
  3189. Whitfield Ball Bird 1983
  3190. %g "1.1/4      Explicit Activation" 0
  3191.  
  3192. %p
  3193. Require users to take a separate, explicit action, distinct from cursor
  3194. positioning, for the actual entry (enabling, activation) of a designated
  3195. position.
  3196.  
  3197. %p "Exception"
  3198. For line drawing or tracking tasks the need for rapid, continuous entry
  3199. may override the need to reduce entry errors.
  3200.  
  3201. %p "Reference"
  3202. MS 5.15.2.5.4
  3203. Albert 1982
  3204. Foley Wallace 1974
  3205. Whitfield Ball Bird 1983
  3206.  
  3207. %p "See also"
  3208. 1.6/4 3.1.3/6
  3209. %g "1.1/5      Fast Acknowledgement of Entry" 0
  3210.  
  3211. %p
  3212. Ensure that the computer will acknowledge entry of a designated position
  3213. within 0.2 seconds.
  3214.  
  3215. %p "Example"
  3216. Almost any consistently provided display change will suffice to
  3217. acknowledge pointing actions, such as brightening or flashing a selected
  3218. character.
  3219.  
  3220. %p "Comment"
  3221. In some applications it may be desirable to provide an explicit message
  3222. indicating that a selection has been made.
  3223.  
  3224. %p "Reference"
  3225. EG Table 2
  3226. MS 5.15.8
  3227.  
  3228. %p "See also"
  3229. 1.0/3 4.2/2 4.2/10
  3230. %g "1.1/6      Stable Cursor" 0
  3231.  
  3232. %p
  3233. Ensure that the displayed cursor will be stable, i.e., that it will
  3234. remain where it is placed until moved by the user (or by the computer)
  3235. to another position.
  3236.  
  3237. %p "Comment"
  3238. Some special applications, such as aided tracking, may benefit from
  3239. computer-controlled cursor movement.  The intent of the recommendation
  3240. here is to avoid unwanted "drift".
  3241.  
  3242. %p "Reference"
  3243. EG 6.1
  3244. %g "1.1/7      Responsive Cursor Control" 0
  3245.  
  3246. %p
  3247. For arbitrary position designation, moving a cursor from one position to
  3248. another, design the cursor control to permit both fast movement and
  3249. accurate placement.
  3250.  
  3251. %p "Comment"
  3252. Ideally, when the user moves a pointing device the displayed cursor
  3253. should appear to move instantly.  Rough positioning should take no more
  3254. than 0.5 seconds for full screen traversal.  Fine positioning may
  3255. require incremental stepping of the cursor, or a control device
  3256. incorporating a large control/display ratio for small displacements, or
  3257. a selectable vernier mode of control use.  For any given cursor control
  3258. action, the rate of cursor movement should be constant, i.e., should not
  3259. change with time.
  3260.  
  3261. %p "Comment"
  3262. Slow visual feedback of cursor movement can be particularly irritating
  3263. when a user is repeatedly pressing a cursor control key, or perhaps
  3264. holding the key down.  In that case, slow feedback will cause the user
  3265. to misjudge location and move the cursor too far.
  3266. %g "1.1/8      Consistent Incremental Positioning" 0
  3267.  
  3268. %p
  3269. When cursor positioning is incremental by discrete steps, design the
  3270. step size of cursor movement to be consistent horizontally (i.e., in
  3271. both right and left directions), and consistent vertically (in both up
  3272. and down directions).
  3273.  
  3274. %p "Comment"
  3275. Horizontal and vertical step sizes need not be the same, and in general
  3276. will not be.
  3277. %g "1.1/9      +  Variable Step Size" 0
  3278.  
  3279. %p
  3280. When character size is variable, design the incremental cursor
  3281. positioning to vary correspondingly, with a step size matching the size
  3282. of currently selected characters.
  3283. %g "1.1/10     +  Proportional Spacing" 0
  3284.  
  3285. %p
  3286. If proportional spacing is used for displayed text, provide computer
  3287. logic to make necessary adjustments automatically when the cursor is
  3288. being positioned for data entry or data change.
  3289.  
  3290. %p "Example"
  3291. Automatic proportional spacing is useful for cursor control when editing
  3292. text composed for typesetting.
  3293.  
  3294. %p "Exception"
  3295. Manual override may help a user in special cases where automatic spacing
  3296. is not wanted.
  3297.  
  3298. %p "Comment"
  3299. Without automatic computer aids, a user probably will not handle
  3300. proportional spacing accurately.
  3301. %g "1.1/11     Continuous Cursor Positioning" 0
  3302.  
  3303. %p
  3304. For continuous position designation, such as needed for line drawing,
  3305. provide a continuously operable control (e.g., joystick) rather than
  3306. requiring a user to take incremental, discrete key actions.
  3307.  
  3308. %p "See also"
  3309. 1.6.2
  3310. %g "1.1/12     Direct Pointing" 0
  3311.  
  3312. %p
  3313. When position designation is the sole or primary means of data entry, as
  3314. in selection among displayed alternatives, provide cursor placement by
  3315. direct pointing (e.g., with a touch display or lightpen) rather than
  3316. incremental stepping or slewing controls (e.g., keys, joystick, etc.).
  3317.  
  3318. %p "Reference"
  3319. MS 5.15.2.5.1
  3320. Albert 1982
  3321. Goodwin 1975
  3322. Shinar Stern Bubis Ingram 1985
  3323. %g "1.1/13     +  Large Pointing Area for Option Selection" 0
  3324.  
  3325. %p
  3326. In selection of displayed alternatives, design the acceptable area for
  3327. pointing (i.e., cursor placement) to be as large as consistently
  3328. possible, including at least the area of the displayed label plus a
  3329. half-character distance around the label.
  3330.  
  3331. %p "Comment"
  3332. The larger the effective target area, the easier the pointing action
  3333. will be, and the less risk of error in selecting the wrong label by
  3334. mistake.  Some researchers have recommended a target separation on the
  3335. display of no less than 6 mm.
  3336.  
  3337. %p "Reference"
  3338. BB 2.12
  3339. EG 2.3.13 6.1.3
  3340. Whitfield Ball Bird 1983
  3341.  
  3342. %p "See also"
  3343. 3.1.3/5
  3344. %g "1.1/14     Cursor Control at Keyboard" 0
  3345.  
  3346. %p
  3347. When position designation is required in a task emphasizing keyed data
  3348. entry, provide cursor control by some device integral to the keyboard
  3349. (function keys, joystick, "cat", etc.).
  3350.  
  3351. %p "Comment"
  3352. Separately manipulated devices (lightpen, "mouse", etc.) will tend to
  3353. slow the user.
  3354.  
  3355. %p "Reference"
  3356. Foley Wallace 1974
  3357.  
  3358. %p "See also"
  3359. 1.0/5
  3360. %g "1.1/15     Compatible Control of Cursor Movement" 0
  3361.  
  3362. %p
  3363. Ensure that control actions for cursor positioning are compatible with
  3364. movements of the displayed cursor, in terms of control function and
  3365. labeling.
  3366.  
  3367. %p "Example"
  3368. For cursor control by key action, a key labeled with a left-pointing
  3369. arrow should move the cursor leftward on the display; for cursor control
  3370. by joystick, leftward movement of the control (or leftward pressure)
  3371. should result in leftward movement of the cursor; etc.
  3372.  
  3373. %p "See also"
  3374. 3.0/16
  3375. %g "1.1/16     Minimal Use of Multiple Cursors" 0
  3376.  
  3377. %p
  3378. Employ multiple cursors on a single display only when they are justified
  3379. by careful task analysis.
  3380.  
  3381. %p "Example"
  3382. Multiple cursors might be useful to mark a user's place when
  3383. manipulating data in multiple display windows.
  3384.  
  3385. %p "Example"
  3386. In graphic interaction, one cursor might be used for line drawing and a
  3387. different cursor for alphanumeric data entry (labels, etc.).
  3388.  
  3389. %p "Comment"
  3390. Multiple cursors may confuse a user, and so require special
  3391. consideration if advocated in USI design.
  3392. %g "1.1/17     +  Distinctive Multiple Cursors" 0
  3393.  
  3394. %p
  3395. If multiple cursors are used, make them visually distinctive from one
  3396. another.
  3397.  
  3398. %p "See also"
  3399. 1.1/1
  3400. %g "1.1/18     +  Distinctive Control of Multiple Cursors" 0
  3401.  
  3402. %p
  3403. If multiple cursors are controlled by a single device, provide a clear
  3404. signal to the user to indicate which cursor is currently under control.
  3405. %g "1.1/19     +  Compatible Control of Multiple Cursors" 0
  3406.  
  3407. %p
  3408. If multiple cursors are controlled by different devices, ensure that
  3409. their separate controls are compatible in operation.
  3410.  
  3411. %p "Example"
  3412. Assume that one cursor is moved upward on a display by forward motion of
  3413. a joystick.  Then a second cursor should also be moved upward by forward
  3414. motion -- perhaps by forward motion of a second joystick or by forward
  3415. motion of a thumbwheel or other device.
  3416.  
  3417. %p "Reference"
  3418. Morrill Davies 1961
  3419.  
  3420. %p "See also"
  3421. 3.0/16
  3422. %g "1.1/20     Consistent HOME Position" 0
  3423.  
  3424. %p
  3425. When there is a predefined HOME position for the cursor, which is
  3426. usually the case, define that position consistently on all displays of a
  3427. given type.
  3428.  
  3429. %p "Example"
  3430. HOME might be in the upper left corner of a text display, or at the
  3431. first field in a form-filling display, or at the center of a graphic
  3432. display.
  3433.  
  3434. %p "Comment"
  3435. The HOME position of the cursor should also be consistent in the
  3436. different "windows" or sections of a partitioned display.
  3437.  
  3438. %p "Reference"
  3439. MS 5.15.2.1.8.3
  3440.  
  3441. %p "See also"
  3442. 4.4/16
  3443. %g "1.1/21     Consistent Cursor Placement" 0
  3444.  
  3445. %p
  3446. On the initial appearance of a data entry display, ensure that the
  3447. cursor will appear automatically at some consistent and useful location.
  3448.  
  3449. %p "Example"
  3450. In a form-filling display, the cursor should be placed in the first
  3451. entry field.
  3452.  
  3453. %p "Reference"
  3454. BB 2.1.4
  3455. MS 5.15.4.3.6
  3456.  
  3457. %p "See also"
  3458. 1.4/28 4.4/16
  3459. %g "1.1/22     Easy Cursor Movement to Data Fields" 0
  3460.  
  3461. %p
  3462. If a cursor must be positioned sequentially in predefined areas, such as
  3463. displayed data entry fields, ensure that this can be accomplished by
  3464. simple user action.
  3465.  
  3466. %p "Example"
  3467. Programmable tab keys are customarily used for this purpose.
  3468.  
  3469. %p "Comment"
  3470. Automatic cursor advance is generally not desirable.
  3471.  
  3472. %p "Reference"
  3473. MS 5.15.4.3.6
  3474.  
  3475. %p "See also"
  3476. 1.4/26
  3477. %g "1.1/23     Display Format Protection" 0
  3478.  
  3479. %p
  3480. When there are areas of a display in which data entries cannot be made
  3481. (blank spaces, protected field labels, etc.), make those areas
  3482. insensitive to pointing actions, i.e., prevent the cursor from entering
  3483. those areas.
  3484.  
  3485. %p "Exception"
  3486. When a user may have to modify display formats, then this automatic
  3487. format protection can be provided as a general default option subject to
  3488. user override.
  3489.  
  3490. %p "Comment"
  3491. Automatic format protection will generally make cursor positioning
  3492. easier for a user, since the cursor will not have to be stepped through
  3493. blank areas, and much routine cursor control can be accomplished with
  3494. only casual reference to the display.
  3495.  
  3496. %p "Reference"
  3497. BB 1.8.13
  3498. EG 7.5
  3499. MS 5.15.4.3.12
  3500. PR 3.3.2
  3501.  
  3502. %p "See also"
  3503. 1.4/7 2.0/10 6.2/5
  3504. %g "1.1/24     Data Entry Independent of Cursor Placement" 0
  3505.  
  3506. %p
  3507. Ensure that an ENTER action for multiple data items results in entry of
  3508. all items, regardless of where the cursor is placed on the display.
  3509.  
  3510. %p "Comment"
  3511. A user may choose to move the cursor back to correct earlier data items,
  3512. and may not move the cursor forward again.  The computer should ignore
  3513. cursor placement in such cases.
  3514.  
  3515. %p "See also"
  3516. 6.3/7
  3517. %a "1.2    Direction Designation"
  3518.  
  3519. %p
  3520. Direction designation refers to user entry of directional data (azimuth,
  3521. bearing, heading, etc.) on a display.
  3522. %g "1.2/1      Analog Entry of Estimated Direction" 0
  3523.  
  3524. %p
  3525. When direction designation is based on graphic representation, provide
  3526. some analog means of entry, such as vector rotation on the display
  3527. and/or a suitably designed rotary switch.
  3528.  
  3529. %p "Example"
  3530. A rotary switch might be used to indicate heading estimations for
  3531. displayed radar trails.
  3532.  
  3533. %p "Exception"
  3534. When approximate direction designation will suffice, for just eight
  3535. cardinal points, keyed entry can be used.
  3536.  
  3537. %p "Comment"
  3538. For matching the directional elements in a graphic display, an entry
  3539. device providing a visual analog will prove both faster and more
  3540. accurate.
  3541.  
  3542. %p "Reference"
  3543. Smith 1962a
  3544. %g "1.2/2      Keyed Entry of Quantified Direction" 0
  3545.  
  3546. %p
  3547. When designation of direction is based on already quantified data, allow
  3548. keyed entry.
  3549.  
  3550. %p "Example"
  3551. A heading entry might be made from a verbal report in which the
  3552. direction has already been expressed numerically.
  3553. %a "1.3    Text"
  3554.  
  3555. %p
  3556. Text entry refers to the initial entry and subsequent editing of textual
  3557. material, including messages.
  3558. %g "1.3/1      Adequate Display Capacity" 0
  3559.  
  3560. %p
  3561. Ensure that display capacity, i.e., number of lines and line length, is
  3562. adequate to support efficient performance of text entry/editing tasks.
  3563.  
  3564. %p "Example"
  3565. For text editing where the page format of subsequent printed output is
  3566. critical, the user's terminal should be able to display full pages of
  3567. text in final output form, which might require a display capacity of
  3568. 50-60 lines or more.
  3569.  
  3570. %p "Example"
  3571. For general text editing where a user might need to make large changes
  3572. in text, i.e., sometimes moving paragraphs and sections, a display
  3573. capacity of at least 20 lines should be provided.
  3574.  
  3575. %p "Example"
  3576. Where text editing will be limited to local changes, i.e., correcting
  3577. typos and minor rewording, as few as seven lines of text might be
  3578. displayed.
  3579.  
  3580. %p "Comment"
  3581. A single line of displayed text should not be used for text editing.
  3582. During text editing, a user will need to see some displayed context in
  3583. order to locate and change various text entries.  Displaying only a
  3584. small portion of text will make a user spend more time moving forward
  3585. and back in a displayed document to see other parts, will increase load
  3586. on the user's memory, and will cause users to make more errors.
  3587.  
  3588. %p "Reference"
  3589. Elkerton Williges Pittman Roach 1982
  3590. Neal Darnell 1984
  3591.  
  3592. %p "See also"
  3593. 1.3/27
  3594. %g "1.3/2      Editing Capabilities During Text Entry" 0
  3595.  
  3596. %p
  3597. Allow users to do at least some simple editing during text entry without
  3598. having to invoke a separate edit mode.
  3599.  
  3600. %p "Example"
  3601. While entering text, users will need at least some capability for text
  3602. selection (by cursor movement) and deletion.
  3603.  
  3604. %p "Comment"
  3605. The intent of this guideline is not to endorse modeless over moded text
  3606. editors.  In fact, when experienced users perform editing tasks, a moded
  3607. editor may offer some advantages.  However if a moded editor is
  3608. provided, users should be able to do some simple editing such as
  3609. correcting typographical errors and making simple word changes without
  3610. having to invoke that editor.
  3611.  
  3612. %p "Comment"
  3613. When users will compose text on-line, consider providing a modeless
  3614. editor rather than a moded editor.  Modeless editors offer some
  3615. advantages for text composition, when users will frequently alternate
  3616. between text entry and editing.
  3617.  
  3618. %p "Reference"
  3619. Poller Garter 1984
  3620.  
  3621. %p "See also"
  3622. 2.0/9
  3623. %g "1.3/3      Free Cursor Movement" 0
  3624.  
  3625. %p
  3626. For text editing, allow users to move the cursor freely over a displayed
  3627. page of text to specify items for change, and to make changes directly
  3628. to the text.
  3629.  
  3630. %p "Comment"
  3631. Free cursor movement and changes made directly to the text are
  3632. characteristics usually associated with so-called screen-based editors
  3633. and not associated with line- or command-based editors.  Screen-based
  3634. editors are preferred by users and are potentially more efficient.
  3635.  
  3636. %p "Reference"
  3637. MS 5.15.3.8.2
  3638. Gould 1981
  3639. Roberts Moran 1983
  3640. Shneiderman 1982
  3641.  
  3642. %p "See also"
  3643. 2.7.2/8
  3644. %g "1.3/4      +  Control Entries Distinct from Text" 0
  3645.  
  3646. %p
  3647. If control entries are made by keying onto the display, such as by keyed
  3648. menu selections or commands, ensure that they will be distinguishable
  3649. from displayed text.
  3650.  
  3651. %p "Example"
  3652. Keyed control entries might be made only in a reserved window in the
  3653. display.
  3654.  
  3655. %p "Comment"
  3656. The intent here is to help ensure that a user will not inadvertently
  3657. enter controls as text, or vice versa.  If a command entry is keyed into
  3658. the body of a text display, perhaps at the end of the last sentence,
  3659. then a user cannot be certain whether the computer will interpret the
  3660. command as a text entry or as a control entry.
  3661.  
  3662. %p "Comment"
  3663. In applications where the screen cannot display all possible format
  3664. features (e.g., special fonts), format codes representing those features
  3665. are usually displayed within the text.  It is not practical in such
  3666. cases to display format codes in a separate window, since a displayed
  3667. code must mark the text that will be affected by the code.  These codes
  3668. should therefore be highlighted in some way to distinguish them from
  3669. text.
  3670.  
  3671. %p "Comment"
  3672. One way of avoiding the problem altogether is to use function keys
  3673. rather than command entry to control text editing.  To provide a general
  3674. range of text editing functions, however, many keys will be needed.  A
  3675. practical design approach might be to adopt double-keying logic for all
  3676. keys on a standard (QWERTY) keyboard, where control-F means FILE a
  3677. document, control-G means GET a document, etc., and providing
  3678. appropriate extra labels for those keys.
  3679.  
  3680. %p "See also"
  3681. 1.3/26
  3682. %g "1.3/5      Natural Units of Text" 0
  3683.  
  3684. %p
  3685. Allow users to specify segments of text in whatever units are natural
  3686. for entry/editing.
  3687.  
  3688. %p "Example"
  3689. For unformatted ("free") text, natural units will be characters, words,
  3690. phrases, sentences, paragraphs, and pages; for specially formatted text,
  3691. such as computer program listings, allow specification of other logical
  3692. units, including lines, subsections, sections, etc.
  3693. %g "1.3/6      +  Control Entry Based on Units of Text" 0
  3694.  
  3695. %p
  3696. Allow users to specify units of text as modifiers for control entries.
  3697.  
  3698. %p "Example"
  3699. Consider two alternative control sequences to delete a four-character
  3700. word:
  3701.  
  3702.           (Good)  DELETE WORD
  3703.  
  3704.           (Bad)   DELETE DELETE DELETE DELETE
  3705.  
  3706. %p "Comment"
  3707. Control entries, whether accomplished by function key, menu selection,
  3708. or command entry, will be easier and more powerful when a user can
  3709. specify text in natural units, rather than having to repeat an entry for
  3710. each text character.
  3711.  
  3712. %p "Comment"
  3713. When units of text are modifiers for all control entries, the syntax for
  3714. those control entries will be easier to learn.  Whether a control action
  3715. is to MOVE or to DELETE, the modifiers to specify text are the same.
  3716.  
  3717. %p "Reference"
  3718. MS 5.15.3.8.4.1 5.15.3.8.4.2
  3719.  
  3720. %p "See also"
  3721. 3.0/6 4.0/1
  3722. %g "1.3/7      +  Highlighting Specified Text" 0
  3723.  
  3724. %p
  3725. When text has been specified to become the subject of control entries,
  3726. highlight that segment of text in some way to indicate its boundaries.
  3727.  
  3728. %p "Comment"
  3729. Text may be specified for various purposes -- for underlining or
  3730. bolding, moving, copying, or deleting.  Highlighting provides the user
  3731. with direct feedback on the extent and content of specified text,
  3732. reducing the likelihood of specification errors.
  3733.  
  3734. %p "See also"
  3735. 4.2/10
  3736. %g "1.3/8      +  Cursor Movement by Units of Text" 0
  3737.  
  3738. %p
  3739. Allow users to move the cursor by specific units of text, as well as one
  3740. character at a time.
  3741.  
  3742. %p "Comment"
  3743. The time necessary to position a cursor is directly related to the
  3744. number of control actions required.  Incremental cursor movement by
  3745. character will therefore be inefficient when moving the cursor over
  3746. large units of text.
  3747.  
  3748. %p "Comment"
  3749. Cursor positioning will be easier if appropriate function keys can be
  3750. provided.  A SENTENCE key that allows a user to move directly to the
  3751. next displayed sentence will be more convenient than some double-keying
  3752. logic such as CONTROL-S.
  3753.  
  3754. %p "See also"
  3755. 1.1/7
  3756. %g "1.3/9      String Search" 0
  3757.  
  3758. %p
  3759. Allow users to specify a string of text and request the computer to
  3760. advance (or back up) the cursor automatically to the next (or last
  3761. previous) occurrence of that string.
  3762.  
  3763. %p "Comment"
  3764. Novice users may prefer to move through a displayed document by units of
  3765. text, such as by word or paragraph.  More experienced users, however,
  3766. may sometimes wish to specify cursor placement directly.  An automatic
  3767. string search capability will generally speed cursor placement in
  3768. comparison with incremental positioning, particularly when moving over
  3769. large portions of a document.
  3770.  
  3771. %p "Comment"
  3772. Expert users may also wish to incorporate special characters in string
  3773. search, including format control characters such as those for tabbing,
  3774. bolding, etc.
  3775.  
  3776. %p "Reference"
  3777. Elkerton Williges Pittman Roach 1982
  3778. %g "1.3/10     +  Upper and Lower Case Equivalent in Search" 0
  3779.  
  3780. %p
  3781. Unless otherwise specified by a user, treat upper and lower case letters
  3782. as equivalent in searching text.
  3783.  
  3784. %p "Example"
  3785. "STRING", "String", and "string" should all be recognized/accepted by
  3786. the computer when searching for that word.
  3787.  
  3788. %p "Comment"
  3789. In searching for words, users will generally be indifferent to any
  3790. distinction between upper and lower case.  The computer should not
  3791. compel a distinction that users do not care about and may find difficult
  3792. to make.  In situations when case actually is important, allow users to
  3793. specify case as a selectable option in string search.
  3794.  
  3795. %p "Comment"
  3796. It may also be useful for the computer to ignore such other features as
  3797. bolding, underlining, parentheses and quotes when searching text.
  3798.  
  3799. %p "See also"
  3800. 1.0/27 3.0/12
  3801. %g "1.3/11     +  Specifying Case in Search" 0
  3802.  
  3803. %p
  3804. When case is important, allow users to specify case as a selectable
  3805. option in string search.
  3806.  
  3807. %p "Example"
  3808. When searching a document in which all the headings are capitalized, a
  3809. user might wish to find a string only when it appears in a heading.
  3810.  
  3811. %p "Comment"
  3812. Users may also wish to specify features such as bolding, underlining,
  3813. and quotes when searching text.
  3814. %g "1.3/12     +  Global Search and Replace" 0
  3815.  
  3816. %p
  3817. When systematic editing changes will be made throughout a long document,
  3818. consider providing a "global search and replace" capability in which the
  3819. computer will replace all occurrences of one text string with another.
  3820.  
  3821. %p "Comment"
  3822. Global search and replace could be designed in two different ways.  One
  3823. user might want the computer to make all changes automatically.  Another
  3824. user might want to review and confirm each change.  Ideally, both
  3825. options should be available.
  3826. %g "1.3/13     +  Case in Global Search and Replace" 0
  3827.  
  3828. %p
  3829. If a global search and replace capability is provided, ensure that each
  3830. time a string is replaced the case of the new string matches the case of
  3831. the old string, unless otherwise specified by the user.
  3832.  
  3833. %p "Example"
  3834. If a word is replacing the first word in a sentence, the first letter of
  3835. the new word should be capitalized; if it is replacing a word that is
  3836. entirely in lower case, then the new word should also be in lower case.
  3837.  
  3838. %p "Comment"
  3839. On occasion, however, a user might wish to replace an erroneous
  3840. lower-case word ("Mitre") with a correctly capitalized version
  3841. ("MITRE").
  3842. %g "1.3/14     Automatic Pagination Aids" 0
  3843.  
  3844. %p
  3845. Provide automatic pagination for text entry/editing, allowing users to
  3846. specify the page size.
  3847.  
  3848. %p "Exception"
  3849. For short documents, automatic pagination may not be needed.
  3850. %g "1.3/15     +  User Control of Pagination" 0
  3851.  
  3852. %p
  3853. When automatic pagination is provided, allow users to override that
  3854. pagination in order to specify page numbers at any point in a document.
  3855.  
  3856. %p "Example"
  3857. A user might wish to number the first page of a document "23", or
  3858. perhaps skip a page number in the middle of a document.
  3859.  
  3860. %p "Comment"
  3861. When producing a large document, a user may wish to split it into
  3862. several separate text files for convenience in editing, and hence need
  3863. to control the page numbering of those component sections.  In general,
  3864. a user will want flexibility in assembling different computer files to
  3865. create a composite document.
  3866. %g "1.3/16     +  Controlling Integrity of Text Units" 0
  3867.  
  3868. %p
  3869. When automatic pagination is provided, allow users to specify the number
  3870. of lines in a paragraph that will be allowed to stand alone at the top
  3871. or bottom of a page (i.e., the size of "widows" and "orphans"), and to
  3872. specify any text that should not be divided between two pages, such as
  3873. inserted lists or tables.
  3874. %g "1.3/17     Automatic Line Break" 0
  3875.  
  3876. %p
  3877. For entry/editing of unformatted text, provide an automatic line break
  3878. ("carriage return") when text reaches the right margin, with provision
  3879. for user override.
  3880.  
  3881. %p "Comment"
  3882. For specially formatted text, such as computer program listings, users
  3883. may need to control line structure themselves and hence need to override
  3884. any automatic line break.  Even when entering unformatted text, a user
  3885. will sometimes wish to specify a new line at some particular point, if
  3886. only for esthetic reasons.
  3887. %g "1.3/18     +  Consistent Word Spacing" 0
  3888.  
  3889. %p
  3890. Unless otherwise specified by the user, ensure that entered text is
  3891. left-justified to maintain constant spacing between words, leaving right
  3892. margins ragged if that is the result.
  3893.  
  3894. %p "See also"
  3895. 2.1/8
  3896. %g "1.3/19     Hyphenation by Users" 0
  3897.  
  3898. %p
  3899. In the entry/editing of text, ensure that automatic pagination and line
  3900. breaks by the computer keep words intact, and introduce hyphenation only
  3901. where specified by users.
  3902.  
  3903. %p "Comment"
  3904. Where compound words have been hyphenated by a user, the computer might
  3905. break the compound after a hyphen, for pagination or line breaks, unless
  3906. otherwise specified by the user.  Compound words formed with slashes
  3907. (e.g., "entry/ editing") might be treated in a similar manner.
  3908.  
  3909. %p "See also"
  3910. 2.1/9
  3911. %g "1.3/20     Format Control by User" 0
  3912.  
  3913. %p
  3914. Provide easy means for users to specify required format control features
  3915. during text entry/editing, e.g., to specify margin and tab settings.
  3916.  
  3917. %p "Example"
  3918. One convenient method of margin and tab control is to allow users to
  3919. mark settings on a displayed "ruler" that extends the width of a page
  3920. and is continuously displayed at the top of the screen.
  3921.  
  3922. %p "Comment"
  3923. Required format features will vary depending on the application.  For
  3924. instance, font size may be quite important when composing text for
  3925. typesetting but unnecessary when editing computer programs.  The intent
  3926. of this guideline is that all required format features should be easy to
  3927. control, and should take priority in interface design.  Any format
  3928. features which are provided but are optional for the user's task should
  3929. not be made easy to use at the expense of required format features.
  3930. %g "1.3/21     Establishing Predefined Formats" 0
  3931.  
  3932. %p
  3933. When text formats must follow predefined standards, provide the standard
  3934. format automatically; do not rely on users to remember and specify
  3935. proper formats.
  3936.  
  3937. %p "Example"
  3938. Standard formats might be required for letters, memos, or other
  3939. transmitted messages.
  3940.  
  3941. %p "See also"
  3942. 5.1/6
  3943. %g "1.3/22     +  Storing User-Defined Formats" 0
  3944.  
  3945. %p
  3946. When text formats cannot be predicted in advance, allow users to specify
  3947. and store for future use the formats that might be needed for particular
  3948. applications.
  3949.  
  3950. %p "Example"
  3951. A special format might be adopted for generating a particular report at
  3952. periodic intervals.
  3953. %g "1.3/23     Moving Text" 0
  3954.  
  3955. %p
  3956. Allow users to select and move text segments from one place to another
  3957. within a document.
  3958.  
  3959. %p "Comment"
  3960. A user should not have to re-enter (i.e., rekey) text that is already
  3961. available to the computer.
  3962.  
  3963. %p "Comment"
  3964. One convenient method of allowing the user to both move and copy text is
  3965. to provide a "cut and paste" facility in which the "cut" text remains in
  3966. a storage buffer and can be "pasted" more than once.  For copying, the
  3967. user can cut text, paste it back into its original location, and paste
  3968. it again at a new location.
  3969.  
  3970. %p "See also"
  3971. 1.0/1
  3972. %g "1.3/24     Storing Frequently Used Text" 0
  3973.  
  3974. %p
  3975. Allow users to label and store frequently used text segments, and later
  3976. to recall (copy into current text) stored segments identified by their
  3977. assigned labels.
  3978.  
  3979. %p "Example"
  3980. Much text processing involves repetitive elements specific to different
  3981. applications, such as signature blocks, technical terms, long names,
  3982. formulas or equations.
  3983. %g "1.3/25     Necessary Data Displayed" 0
  3984.  
  3985. %p
  3986. Ensure that whatever information a user needs for text entry/ editing is
  3987. available for display, as an annotation to displayed text.
  3988.  
  3989. %p "Example"
  3990. A user might wish to see format control characters, such as tab and
  3991. margin settings.
  3992.  
  3993. %p "Comment"
  3994. Required annotation will vary with the application.  Some annotation may
  3995. be so commonly needed that it should be continuously displayed -- e.g.,
  3996. document name, page number, indication of control mode (if any), etc.
  3997. Other annotation might be displayed only at user request -- such as
  3998. document status (date last changed, last printed, etc.) which might be
  3999. displayed in an optional window overlay, and format control characters
  4000. which might be visible in an optional display mode.
  4001. %g "1.3/26     +  Text Distinct from Annotation" 0
  4002.  
  4003. %p
  4004. Ensure that annotations to displayed text are distinguishable from the
  4005. text itself.
  4006.  
  4007. %p "Example"
  4008. Continuous annotation might be displayed in the top and/or bottom lines
  4009. of a page, separated from the text by blank lines; optional annotation
  4010. might be displayed in window overlays.
  4011.  
  4012. %p "Comment"
  4013. This recommendation refers to text annotations added by users, such as
  4014. marginal notes on printed displays.  Other annotation such as format
  4015. control characters might be shown in a special display mode where text
  4016. has been expanded to permit annotation between lines.
  4017.  
  4018. %p "See also"
  4019. 1.3/4
  4020. %g "1.3/27     Text Displayed as Printed" 0
  4021.  
  4022. %p
  4023. Allow users to display text exactly as it will be printed.
  4024.  
  4025. %p "Comment"
  4026. Accurate display is particularly necessary when the format of printed
  4027. output is important, as when printing letters, tables, etc.
  4028.  
  4029. %p "Comment"
  4030. Ideally, text displays should be able to represent all the features that
  4031. are provided in printed output, including upper and lower case,
  4032. underlining, bolding, subscripting, superscripting, special symbols, and
  4033. different styles and sizes of type.  When those features are important,
  4034. the necessary display capability should be provided.
  4035.  
  4036. %p "Comment"
  4037. For special formatting features that are not frequently used, it may be
  4038. sufficient to use extra symbols to note text features that cannot be
  4039. directly displayed.  In that case, care should be taken that such
  4040. annotation does not disturb the spacing of displayed text.  This may
  4041. require two display modes, one to show text spacing as it will be
  4042. printed and the other to show annotations to the text.
  4043.  
  4044. %p "Comment"
  4045. A corollary to this recommendation is that changes made to displayed
  4046. text should appear as a user makes them.  Some line-based editors show
  4047. changes only after a document has been filed and later recalled for
  4048. display, which does not represent good user interface design.
  4049.  
  4050. %p "Reference"
  4051. Foley Van Dam 1982
  4052. Gould 1981
  4053.  
  4054. %p "See also"
  4055. 1.3/1
  4056. %g "1.3/28     Flexible Printing Options" 0
  4057.  
  4058. %p
  4059. In printing text, allow users to select among available output formats
  4060. (line spacing, margin size, etc.) and to specify the parts of a document
  4061. to be printed; do not require that an entire document be printed.
  4062.  
  4063. %p "Example"
  4064. Permit a user to print just those portions of a document that have been
  4065. changed, perhaps specifying just the first page, or page 17, or the last
  4066. five pages, etc.
  4067.  
  4068. %p "Comment"
  4069. This is particularly important when long documents will be edited.  A
  4070. user should not be required to print an entire 50-page document just
  4071. because of a change to one page.
  4072. %g "1.3/29     Information on Printing Status" 0
  4073.  
  4074. %p
  4075. Inform users concerning the status of requests for printouts.
  4076.  
  4077. %p "Example"
  4078. The computer should acknowledge print requests immediately, and might
  4079. provide a subsequent message to indicate when a printout has been
  4080. completed if the printer is remote (unobservable) from the user's work
  4081. station.
  4082.  
  4083. %p "Example"
  4084. If there is a queue of documents waiting for printout, a user should be
  4085. able to get an estimate as to when a particular document will be
  4086. printed.
  4087.  
  4088. %p "Comment"
  4089. If a user is responsible for operating a local printer, the computer
  4090. might display messages to alert the user of potential malfunctions,
  4091. e.g., if its paper supply is exhausted, if the paper is not correctly
  4092. loaded, etc.
  4093.  
  4094. %p "See also"
  4095. 3.0/14 4.2/5
  4096. %g "1.3/30     Auditory Signals for Alerting Users" 0
  4097.  
  4098. %p
  4099. During text entry/editing, provide an auditory signal whenever it is
  4100. necessary to draw a user's attention to the display.
  4101.  
  4102. %p "Comment"
  4103. A touch typist entering text from written copy will often not be looking
  4104. at the display screen, and therefore may not notice visual indicators of
  4105. errors or mode changes unless they are accompanied by auditory signals.
  4106.  
  4107. %p "Comment"
  4108. Note that in a group environment an auditory signal may distract other
  4109. workers, and may embarrass the user whose error has been thus
  4110. advertised.  In such a work setting, consider allowing users to disable
  4111. the auditory signal.
  4112.  
  4113. %p "See also"
  4114. 2.6/39
  4115. %g "1.3/31     Protecting Text During Page Overruns" 0
  4116.  
  4117. %p
  4118. When a user is inserting text into a document that has already been
  4119. paginated, ensure that no text is lost if the user inserts more text
  4120. than a page can hold.
  4121.  
  4122. %p "Comment"
  4123. It is difficult for a user to keep track of page size, particularly if
  4124. the size of the display screen is less than the full page specified for
  4125. printed text, which is often the case.  A user will often not know when
  4126. more text has been inserted into a page than there is room for.  The
  4127. computer should accommodate text insertions with automatic repagination.
  4128. %g "1.3/32     Confirming Actions in DELETE Mode" 0
  4129.  
  4130. %p
  4131. If a DELETE mode is used, highlight any text specified by a user for
  4132. deletion and require the user to confirm the DELETE action before the
  4133. computer will process it.
  4134.  
  4135. %p "Comment"
  4136. Requiring a user to confirm actions in DELETE mode is particularly
  4137. important when the control entries for cursor positioning (e.g., WORD,
  4138. SENTENCE, PARAGRAPH, PAGE) are also used to specify text for deletion,
  4139. which is often the case.  Users will associate the specification of text
  4140. units primarily with cursor positioning, which is the most frequent
  4141. action in text editing.  In a DELETE mode, after specifying text units
  4142. for deletion, a user may press a PARAGRAPH key intending to move to the
  4143. next paragraph but accidentally delete the next paragraph.  Confirmation
  4144. of DELETE actions will tend to prevent such errors.
  4145.  
  4146. %p "Comment"
  4147. An alternative approach to this problem is not to provide a continuing
  4148. DELETE mode, but instead require double keying to accomplish deletions.
  4149. In a DELETE mode, a user might press a DELETE key followed by unlimited
  4150. repetitions of a WORD key (or keys specifying other units of text).
  4151. With double keying, the user would have to press DELETE before each
  4152. selection of a text unit to be deleted.
  4153.  
  4154. %p "See also"
  4155. 1.3/6 6.0/18 6.3/19
  4156. %g "1.3/33     Reversible Actions" 0
  4157.  
  4158. %p
  4159. Design text editing logic so that any user action is immediately
  4160. reversible.
  4161.  
  4162. %p "Example"
  4163. If a user centers a heading and then decides it would look better flush
  4164. against the left margin, an UNDO action should reverse the centering and
  4165. move the heading back to its original location.
  4166.  
  4167. %p "Example"
  4168. If a user underlines a paragraph of text and then decides it should be
  4169. in all capital letters instead, an UNDO action should reverse the
  4170. underlining.  The user should not be required to delete the paragraph
  4171. and retype it just to erase the underscoring.
  4172.  
  4173. %p "Comment"
  4174. Reversible actions are particularly important in a text editing
  4175. environment because text formatting often involves experimentation with
  4176. features such as underscoring, bolding, and spacing.  If users know that
  4177. they can reverse whatever they do, they will feel more free to delete
  4178. text and experiment with formatting features.
  4179.  
  4180. %p "Comment"
  4181. An UNDO capability is currently available in some interface designs.  In
  4182. some applications, however, this capability is provided through the use
  4183. of an UNDO key which can only reverse the most recent control action.
  4184. For text editing, users must be able to reverse such formatting features
  4185. as centering and bolding at any time.  Therefore, if control actions are
  4186. to be made reversible, an UNDO action should be able to reverse more
  4187. than the most recent command, perhaps by requiring the user to specify
  4188. which command to undo, and/or to place the cursor at the location of the
  4189. format feature that is to be reversed.
  4190.  
  4191. %p "Comment"
  4192. When text segments have been deleted, it should be possible to retrieve
  4193. more than the most recent deletion.  Some systems do this by storing all
  4194. deletions in a special file.  Deleted text which the user wishes to
  4195. retrieve can then be moved from the deletion file to the file in which
  4196. the user is presently working.
  4197.  
  4198. %p "Reference"
  4199. Lee Lochovsky 1983
  4200. Nicherson Pew 1971
  4201. Shneiderman 1982
  4202.  
  4203. %p "See also"
  4204. 3.5/10 6.0/21
  4205. %g "1.3/34     User Confirmation of Editing Changes" 0
  4206.  
  4207. %p
  4208. When a user signals completion of document editing, allow the user to
  4209. confirm that changes should be made to the original document, or else to
  4210. choose alternative options.
  4211.  
  4212. %p "Comment"
  4213. A user will generally wish to replace the original document with its
  4214. edited version.  However, sometimes a user may decide that editing
  4215. mistakes have been made, and wish to discard the new version while
  4216. saving the original.  Or a user might wish to save the new version as a
  4217. separate document, while saving the original unchanged.  Such decisions
  4218. can be made best at the end of an editing session, when the user knows
  4219. what has been accomplished, rather than before a session is begun.
  4220.  
  4221. %p "Comment"
  4222. During text editing, the computer should always retain a copy of the
  4223. original document until the user confirms that it should be changed.
  4224. The original document should not be changed automatically as the user
  4225. enters each editing change.
  4226.  
  4227. %p "See also"
  4228. 6.0/18 6.3/19
  4229. %a "1.4    Data Forms"
  4230.  
  4231. %p
  4232. Data forms permit entry of predefined items into labeled fields of
  4233. specially formatted displays.
  4234.  
  4235. %p "Good and Bad Examples
  4236. These sample displays represent a possible form for entry and review of
  4237. visa application data.  In the good form, data entries are bolded to
  4238. help distinguish them from labels and field delimiters.  Fields are
  4239. ordered consistently in relation to a (supposed) paper application form,
  4240. and formatted to facilitate both data entry and data review.
  4241.  
  4242. %p
  4243. The bad display is annotated to indicate violations of several of the
  4244. design guidelines proposed here for data forms.  The data entries in the
  4245. bad display were invented to suggest what a user might have produced, if
  4246. confused by inadequate labeling and the absence of field delimiters.
  4247.  
  4248. %p "Good Sample Data Form"
  4249. |-----------------------------------------------------|
  4250. |                  VISA APPLICATION                   |
  4251. |                                                     |
  4252. | NAME: Jones, Andrew David_______      VISA: 356 478 |
  4253. |       LAST, FIRST MIDDLE                            |
  4254. |                                                     |
  4255. | BIRTH COUNTRY: UK    DATE:  3/22/25                 |
  4256. |                            MM DD YY                 |
  4257. |                                                     |
  4258. |   NATIONALITY: UK    PASSPORT: Z196284__            |
  4259. |                                                     |
  4260. |       ADDRESS: 5 Fairview Lane_________________     |
  4261. |                Loughborough, LE11 3RG__________     |
  4262. |                England_________________________     |
  4263. |                                                     |
  4264. | OTHER TRAVELERS ON THIS VISA                        |
  4265. |                               BIRTH                 |
  4266. | NAME:                         COUNTRY:  DATE:       |
  4267. | Jones, Sandra Jean________    UK        10/11/28    |
  4268. | Jones, Cynthia Leigh______    FR         6/12/68<   |
  4269. | __________________________    __        __/__/__    |
  4270. | __________________________    __        __/__/__    |
  4271. | LAST, FIRST MIDDLE                      MM DD YY    |
  4272. |                                                     |
  4273. | * Press ENTER when done.                            |
  4274. |-----------------------------------------------------|
  4275.  
  4276. %p "Bad Sample Data Form"
  4277. |-----------------------------------------------------|
  4278. | Name Andrew D. Jones          Visa Number 356478    |
  4279. |                                                     |
  4280. | Birthplace London             Nationality English   |
  4281. |                                                     |
  4282. | Passport Z196284              Birthdate Mar. 22,    |
  4283. |                                                     |
  4284. | Address  1925                                       |
  4285. |         5 Fairview Lane, Loughborough, L            |
  4286. |         E11 3RG, England                            |
  4287. |                                                     |
  4288. | Other travelers on this visa                        |
  4289. | Traveler's Name             Date of Birth - Place   |
  4290. | Sandra J. Jones                  Oct. 11, - 1928    |
  4291. | Birmingham                                          |
  4292. | Cynthia L. Jones                 June 12, - 1968    |
  4293. | Paris, France#                                      |
  4294. |                                                     |
  4295. |                                                     |
  4296. |                                                     |
  4297. |                                                     |
  4298. |                                                     |
  4299. |                                                     |
  4300. |                                                     |
  4301. | Press ENTER when done                               |
  4302. |-----------------------------------------------------|
  4303.  
  4304. %p
  4305. This bad data form display violates in some degree several design
  4306. guidelines in this section:
  4307.  
  4308.  1.4/3   Minimal use of delimiters
  4309.  1.4/6   Consistent labeling
  4310.  1.4/10  Marking field boundaries
  4311.  1.4/11  Prompting field length
  4312.  1.4/15  Explicit tabbing to data fields
  4313.  1.4/16  Distinctive label format
  4314.  1.4/18  Label punctuation as entry cue
  4315.  1.4/19  Informative labels
  4316.  1.4/20  Data format cueing in labels
  4317.  1.4/25  Form compatible with source documents
  4318.  
  4319. This bad data form also violates various design guidelines pertaining to
  4320. data display, as noted at the end of Section 2.2.
  4321. %g "1.4/1      Combined Entry of Related Data" 0
  4322.  
  4323. %p
  4324. In a form-filling dialogue, when a user is entering logically related
  4325. items, require just one explicit entry action at the end of the
  4326. transaction sequence, rather than separate entry of each item.
  4327.  
  4328. %p "Comment"
  4329. Depending on form design, this practice might involve entering the
  4330. entire form, or entry by page or section of a longer form.  Form design
  4331. should indicate to users just where explicit entry is required.
  4332.  
  4333. %p "Comment"
  4334. Single entry of grouped data will generally permit faster input than
  4335. item-by-item entry, and should prove more accurate as well.  This
  4336. practice permits user review and possible data correction prior to
  4337. entry, and also helps the user understand at what point grouped data are
  4338. processed.  It will also permit efficient cross validation of related
  4339. data items by the computer.
  4340.  
  4341. %p "See also"
  4342. 1.0/9 6.3/6 6.3/18
  4343. %g "1.4/2      Flexible Interrupt" 0
  4344.  
  4345. %p
  4346. When multiple data items are entered as a single transaction, as in form
  4347. filling, allow the user to REVIEW, CANCEL, or BACKUP and change any item
  4348. before taking a final ENTER action.
  4349.  
  4350. %p "Reference"
  4351. BB 2.10
  4352. Foley Wallace 1974
  4353.  
  4354. %p "See also"
  4355. 1.0/9 3.3/3 3.3/4 3.3/5 3.5/2 6.0/10 6.3/8
  4356. %g "1.4/3      Minimal Use of Delimiters" 0
  4357.  
  4358. %p
  4359. Whenever possible, allow entry of multiple data items without keying
  4360. special separator or delimiter characters, e.g., hyphens, dollar signs,
  4361. etc.
  4362.  
  4363. %p "Example"
  4364. See sample displays in this section.
  4365.  
  4366. %p "Comment"
  4367. This can be accomplished either by keying into predefined entry fields
  4368. or by separating sequentially keyed items with blank spaces.  In this
  4369. context, tabbing from field to field is not considered to be keying a
  4370. special delimiter character.
  4371.  
  4372. %p "Comment"
  4373. When data items contain internal blanks, design the entry fields with a
  4374. predefined structure so that users will not have to key any internal
  4375. delimiters.
  4376. %g "1.4/4      +  Standard Delimiter Character" 0
  4377.  
  4378. %p
  4379. When a field delimiter must be used for data entry, adopt a standard
  4380. character to be employed consistently for that purpose.
  4381.  
  4382. %p "Example"
  4383. A slash (/) may be a good choice.
  4384.  
  4385. %p "Comment"
  4386. Choose a special delimiter character that does not require shift keying.
  4387. It will also be necessary to choose a character that does not occur as
  4388. part of any data entry (except possibly for entry of running text where
  4389. its occurrence would not be ambiguous).
  4390. %g "1.4/5      Data Field Labels" 0
  4391.  
  4392. %p
  4393. For each data field, display an associated label to help users
  4394. understand what entries can be made.
  4395.  
  4396. %p "Example"
  4397.  (Good) | NAME: __ __ __ __ __ __ __ __ __ __ __  |
  4398.         |                                         |
  4399.         | ORGANIZATION:  __ __/__ __              |
  4400.         |                                         |
  4401.         | PHONE:  __ __ __-__ __ __ __            |
  4402.  
  4403.  (Bad)  | NAME, ORGANIZATION AND PHONE        |
  4404.         |                                     |
  4405.         | __ __ __ __ __ __ __ __ __ __ __ __ |
  4406.         |                                     |
  4407.         | __ __ __ __                         |
  4408.         |                                     |
  4409.         | __ __ __ __ __ __ __                |
  4410.  
  4411. %p "Reference"
  4412. BB 2.1.7
  4413.  
  4414. %p "See also"
  4415. 1.0/24 4.0/11
  4416. %g "1.4/6      +  Consistent Labeling" 0
  4417.  
  4418. %p
  4419. Make field labels consistent; always employ the same label to indicate
  4420. the same kind of data entry.
  4421.  
  4422. %p "Example"
  4423. A field labeled NAME should always require name entry, and not sometimes
  4424. require something different like elevation (cited from an actual
  4425. system).
  4426.  
  4427. %p "Example"
  4428. See sample displays in this section.
  4429. %g "1.4/7      +  Protected Labels" 0
  4430.  
  4431. %p
  4432. Protect field labels from keyed entry, by making the cursor skip over
  4433. them automatically when a user is spacing or tabbing.
  4434.  
  4435. %p "Exception"
  4436. When a user must change a displayed form, including changes to field
  4437. labels, then that user must be able to override label protection.
  4438.  
  4439. %p "Reference"
  4440. BB 1.8.13
  4441. PR 3.3.2 4.8.1
  4442.  
  4443. %p "See also"
  4444. 1.1/23 2.0/10 6.2/5 6.3/2
  4445. %g "1.4/8      +  Labels Close to Data Fields" 0
  4446.  
  4447. %p
  4448. Ensure that labels are sufficiently close to be associated with their
  4449. proper data fields, but are separated from data fields by at least one
  4450. space.
  4451.  
  4452. %p "Reference"
  4453. BB 1.9.5
  4454. EG 2.3.8
  4455.  
  4456. %p "See also"
  4457. 2.2/9
  4458. %g "1.4/9      +  Standard Symbol for Prompting Entry" 0
  4459.  
  4460. %p
  4461. Choose a standard symbol for input prompting and reserve that symbol
  4462. only for that use.
  4463.  
  4464. %p "Example"
  4465. In the examples here, and also in many printed forms, a colon serves to
  4466. prompt inputs, as
  4467.  
  4468.           (Good)  | TIME: ________ |
  4469.  
  4470.           (Bad)   | TIME ________  |
  4471.  
  4472. %p "Comment"
  4473. Consistent use of a symbol for input prompting in data entry forms, in
  4474. menus, in command entry lines, etc., will help to cue users that an
  4475. input is required.  A standard symbol used in addition to other
  4476. formatting cues will help to alert a user to differences between labels
  4477. and displayed data, between messages requiring input and messages for
  4478. information only.
  4479.  
  4480. %p "Reference"
  4481. BB 2.5.2
  4482.  
  4483. %p "See also"
  4484. 3.1.3/15 4.4/10
  4485. %g "1.4/10     Marking Field Boundaries" 0
  4486.  
  4487. %p
  4488. Display special characters or other consistent means of highlighting to
  4489. clearly delineate each data field.
  4490.  
  4491. %p "Example"
  4492. An underscore might be used for this purpose, perhaps broken to indicate
  4493. the number of symbols required in an entry, as
  4494.  
  4495.           (Good)  | Enter account number:  __ __ __ __ __ |
  4496.  
  4497.           (Bad)   | Enter account number:                 |
  4498.  
  4499. %p "Example"
  4500. See sample displays in this section.
  4501.  
  4502. %p "Comment"
  4503. Such implicit prompts help reduce data entry errors by the user.
  4504.  
  4505. %p "Reference"
  4506. BB 2.2.1
  4507. EG 6.3 6.3.1
  4508. MS 5.15.4.3.4
  4509. PR 4.8.1
  4510. Savage Habinek Blackstad 1982
  4511.  
  4512. %p "See also"
  4513. 1.0/6 2.2/2 4.4/15
  4514. %g "1.4/11     +  Prompting Field Length" 0
  4515.  
  4516. %p
  4517. Provide cues in field delineation to indicate when a fixed or maximum
  4518. length is specified for a data entry.
  4519.  
  4520. %p "Example"
  4521.  (Good) | Enter ID: __ __ __ __ __ __ __ __ __ |
  4522.  
  4523.  (Bad)  | Enter ID (9 characters):             |
  4524.  
  4525. %p "Example"
  4526. See sample displays in this section.
  4527.  
  4528. %p "Comment"
  4529. Prompting by delineation is more effective than simply telling the user
  4530. how long an entry should be.  In the example cited here, underscoring
  4531. gives a direct visual cue as to the number of characters to be entered,
  4532. and the user does not have to count them.
  4533.  
  4534. %p "Comment"
  4535. Similar implicit cues should be provided when data entry is prompted by
  4536. auditory displays.  Tone codes can be used to indicate the type and
  4537. length of data entries.
  4538.  
  4539. %p "Reference"
  4540. BB 2.2.1
  4541. EG 6.3
  4542. MS 5.15.4.3.7
  4543. PR 4.8.2
  4544. Smith Goodwin 1970
  4545.  
  4546. %p "See also"
  4547. 4.4/15
  4548. %g "1.4/12     +  Marking Required and Optional Data Fields" 0
  4549.  
  4550. %p
  4551. In designing form displays, distinguish clearly and consistently between
  4552. required and optional entry fields.
  4553.  
  4554. %p "Example"
  4555. Field delineation cues may be used for this purpose, perhaps a broken
  4556. underscore to indicate required entries and a dotted underscore to
  4557. indicate optional entries, as
  4558.  
  4559.           | LICENSE NUMBER:  __ __ __ __ __ __ |
  4560.           |                                    |
  4561.           | MAKE:  . . . . . . . . . . . . . . |
  4562.           |                                    |
  4563.           | YEAR/MODEL:  . . . . . . . . . . . |
  4564.  
  4565. %p "Example"
  4566. Alternatively, it might be preferable to distinguish required versus
  4567. optional entry fields by coding their labels, perhaps displaying in
  4568. parentheses the labels of optional fields.
  4569.  
  4570. %p "Reference"
  4571. BB 2.6
  4572. MS 5.15.4.3.4
  4573. PR 4.8.6
  4574.  
  4575. %p "See also"
  4576. 4.4/15
  4577. %g "1.4/13     +  Field Markers Not Entered with Data" 0
  4578.  
  4579. %p
  4580. When item length is variable, so that a data entry does not completely
  4581. replace the markers in a field, ignore any remaining field markers in
  4582. computer processing.
  4583.  
  4584. %p "Comment"
  4585. A user should not be expected to erase any field markers.  Extra markers
  4586. should not be processed as part of a data entry if they are not erased.
  4587.  
  4588. %p "Reference"
  4589. BB 2.2.2
  4590. EG 6.3.2
  4591. MS 5.15.4.3.9
  4592. Stewart 1980
  4593. %g "1.4/14     +  Automatic Justification of Variable-Length Entries" 0
  4594.  
  4595. %p
  4596. When item length is variable, provide automatic justification in
  4597. computer processing; a user should not have to justify an entry either
  4598. right or left.
  4599.  
  4600. %p "Example"
  4601. Assuming field delineation by underscore, the following entries should
  4602. all be considered equivalent
  4603.  
  4604.           | Address:  40 Dalton Road_______ |
  4605.  
  4606.           | Address:  _______40 Dalton Road |
  4607.  
  4608.           | Address:  ___40 Dalton Road____ |
  4609.  
  4610. %p "Comment"
  4611. If a data entry is shorter than its field length, its position when
  4612. entered in that field should not matter.  The computer can impose its
  4613. own justification rules when storing and subsequently displaying such
  4614. data for review.
  4615.  
  4616. %p "Reference"
  4617. BB 2.2.2
  4618. EG 6.3.2
  4619. %g "1.4/15     Explicit Tabbing to Data Fields" 0
  4620.  
  4621. %p
  4622. Require users to take explicit keying ("tabbing") action to move from
  4623. one data entry field to the next; the computer should not provide such
  4624. tabbing automatically.
  4625.  
  4626. %p "Example"
  4627. See sample displays in this section.
  4628.  
  4629. %p "Comment"
  4630. Automatic tabbing may cause cascading of errors, if a skilled typist
  4631. keys a series of items without looking at the display and has
  4632. accidentally overrun one of the earlier data fields.  An acceptable
  4633. solution here is to design each field to end with an extra (blank)
  4634. character space; software should be designed to prevent keying into a
  4635. blank space, and an auditory signal should be provided to alert the user
  4636. when that is attempted.  This will permit consistent use of tab keying
  4637. by the user to move accurately from one field to the next, even for
  4638. touch typists.
  4639.  
  4640. %p "Reference"
  4641. MS 5.15.4.3.6
  4642. PR 4.9.1
  4643.  
  4644. %p "See also"
  4645. 1.1/22
  4646. %g "1.4/16     Distinctive Label Format" 0
  4647.  
  4648. %p
  4649. Make labels for data fields distinctive, so that they will not be
  4650. readily confused with data entries, labeled control options, guidance
  4651. messages, or other displayed material.
  4652.  
  4653. %p "Example"
  4654. Labels might be displayed in capital letters always followed by a colon.
  4655. Or labels might be displayed in dim characters, with data entries
  4656. brighter.
  4657.  
  4658. %p "Example"
  4659. See sample displays in this section.
  4660.  
  4661. %p "Reference"
  4662. BB 2.1.1
  4663. MS 5.15.4.3.5
  4664. PR 3.3.2
  4665.  
  4666. %p "See also"
  4667. 2.2/8 4.0/8
  4668. %g "1.4/17     +  Consistent Label Format" 0
  4669.  
  4670. %p
  4671. When data fields are distributed across a display, adopt a consistent
  4672. format for relating labels to delineated entry areas.
  4673.  
  4674. %p "Example"
  4675. The label might always be to the left of the field; or the label might
  4676. always be immediately above and left-justified with the beginning of the
  4677. field.
  4678.  
  4679. %p "Comment"
  4680. Such consistent practice will help the user distinguish labels from data
  4681. in distributed displays.
  4682.  
  4683. %p "See also"
  4684. 4.0/7
  4685. %g "1.4/18     +  Label Punctuation as Entry Cue" 0
  4686.  
  4687. %p
  4688. The label for each entry field should end with a special symbol,
  4689. signifying that an entry may be made.
  4690.  
  4691. %p "Example"
  4692. A colon is recommended for this purpose, as
  4693.           | NAME:  __ __ __ __ __ __ __ __ __ __ __ |
  4694.  
  4695. %p "Example"
  4696. See sample displays in this section.
  4697.  
  4698. %p "Comment"
  4699. Choose a symbol that can be reserved exclusively for prompting user
  4700. entries, or at least is rarely used for any other purpose.
  4701.  
  4702. %p "Reference"
  4703. BB 2.5
  4704.  
  4705. %p "See also"
  4706. 4.4/15
  4707. %g "1.4/19     Informative Labels" 0
  4708.  
  4709. %p
  4710. In labeling data fields, employ descriptive wording, or else standard,
  4711. predefined terms, codes and/or abbreviations; avoid arbitrary codes.
  4712.  
  4713. %p "Example"
  4714. Employ descriptive labels such as STANDARD and MODIFIED, rather than
  4715. abstract codes such as SET A and SET B; MALE and FEMALE, rather than
  4716. GROUP 1 and GROUP 2.
  4717.  
  4718. %p "Example"
  4719.  (Good) | WEEK: __ MONTH: __ __ YEAR: __ __                   |
  4720.         |                                                     |
  4721.         | SOCIAL SECURITY NO:  __ __ __ - __ __ - __ __ __ __ |
  4722.  
  4723.  (Bad) | DATECODE: __ __ __ __ __          |
  4724.        |                                   |
  4725.        | SSAN:  __ __ __ __ __ __ __ __ __ |
  4726.  
  4727. %p "Example"
  4728. See sample displays in this section.
  4729.  
  4730. %p "Comment"
  4731. Do not create new jargon.  If in doubt, pretest all proposed wording
  4732. with a sample of qualified users.
  4733.  
  4734. %p "Reference"
  4735. BB 2.1.6
  4736. PR 4.5.6
  4737.  
  4738. %p "See also"
  4739. 2.0/12 4.0/11
  4740. %g "1.4/20     Data Format Cueing in Labels" 0
  4741.  
  4742. %p
  4743. Include in a field label additional cueing of data format when that
  4744. seems helpful.
  4745.  
  4746. %p "Example"
  4747. | DATE (MM/DD/YY): __ __/__ __/__ __ |
  4748.  
  4749. %p "Example"
  4750. See sample displays in this section.
  4751.  
  4752. %p "Reference"
  4753. BB 2.1.8
  4754. MS 5.15.4.3.5
  4755. PR 4.8.9
  4756.  
  4757. %p "See also"
  4758. 4.0/11
  4759. %g "1.4/21     +  Labeling Units of Measurement" 0
  4760.  
  4761. %p
  4762. When a measurement unit is consistently associated with a particular
  4763. data field, include that unit as part of the field label rather than
  4764. requiring a user to enter it.
  4765.  
  4766. %p "Example"
  4767. | COST: $ __ __ __ __ |
  4768.  
  4769. %p "Example"
  4770. | SPEED (MPH): __ __ __ |
  4771.  
  4772. %p "Reference"
  4773. BB 2.2.6
  4774. MS 5.15.4.3.10
  4775. PR 4.8.11
  4776.  
  4777. %p "See also"
  4778. 2.2/10 4.0/11
  4779. %g "1.4/22     +  Familiar Units of Measurement" 0
  4780.  
  4781. %p
  4782. Employ units of measurement that are familiar to the user.
  4783.  
  4784. %p "Example"
  4785.  (Good) | SPEED LIMIT: __ __ miles per hour   |
  4786.  
  4787.  (Bad)  | SPEED LIMIT: __ __ feet per second  |
  4788.  
  4789.  (Good) | FUEL USE: __ __.__ miles per gallon |
  4790.  
  4791.  (Bad)  | FUEL USE: .__ __ gallons per minute |
  4792.  
  4793. %p "Comment"
  4794. If data must be converted to unfamiliar units, the computer should
  4795. handle that automatically.
  4796.  
  4797. %p "Reference"
  4798. BB 2.3
  4799. MS 5.15.2.1.7
  4800.  
  4801. %p "See also"
  4802. 4.0/17
  4803. %g "1.4/23     +  Alternative Units of Measurement" 0
  4804.  
  4805. %p
  4806. When alternative measurement units are acceptable, provide space in the
  4807. data field so that a user can designate the units actually entered.
  4808.  
  4809. %p "Example"
  4810. | DISTANCE: __ __ __ __ (MI/KM) __ __ |
  4811.  
  4812. %p "Reference"
  4813. MS 5.15.4.3.10
  4814. PR 4.8.11
  4815.  
  4816. %p "See also"
  4817. 4.0/11
  4818. %g "1.4/24     Form Compatible for Data Entry and Display" 0
  4819.  
  4820. %p
  4821. When forms are used for reviewing displayed data as well as for data
  4822. entry, make the form for data entry compatible with that for display
  4823. output; use the same item labels and ordering for both.
  4824.  
  4825. %p "Comment"
  4826. When a display format optimized for data entry seems unsuited for data
  4827. display, or vice versa, some compromise format should be designed,
  4828. taking into account the relative functional importance of data entry and
  4829. data review in the user's task.
  4830.  
  4831. %p "Reference"
  4832. MS 5.15.3.1.1.a
  4833.  
  4834. %p "See also"
  4835. 2.2/12 2.5/1 4.0/6
  4836. %g "1.4/25     +  Form Compatible with Source Documents" 0
  4837.  
  4838. %p
  4839. When data entry involves transcription from source documents, ensure
  4840. that form-filling displays match (or are compatible with) those
  4841. documents, in terms of item ordering, data grouping, etc.
  4842.  
  4843. %p "Example"
  4844. See sample displays in this section.
  4845.  
  4846. %p "Comment"
  4847. If paper forms are not optimal for data entry, consider revising the
  4848. layout of the paper form.
  4849.  
  4850. %p "Comment"
  4851. If data entries must follow an arbitrary sequence of external
  4852. information (e.g., keying telephoned reservation data), employ some form
  4853. of command language dialogue instead of form filling, to identify each
  4854. item as it is entered so that the user does not have to remember and
  4855. re-order items.
  4856.  
  4857. %p "Reference"
  4858. BB 1.8.9
  4859. MS 5.15.3.1.1.b 5.15.4.3.3
  4860. PR 4.8.3 4.8.5 4.10.7
  4861. Stewart 1980
  4862.  
  4863. %p "See also"
  4864. 2.5/1 2.5/14 3.1.1/4 4.0/6
  4865. %g "1.4/26     Minimal Cursor Positioning" 0
  4866.  
  4867. %p
  4868. When designing displays for form-filling data entry, minimize user
  4869. actions required for cursor movement from one field to the next.
  4870.  
  4871. %p "Comment"
  4872. Placing all required fields before any optional fields will sometimes
  4873. make data entry more efficient.
  4874.  
  4875. %p "Reference"
  4876. BB 2.1.3
  4877.  
  4878. %p "See also"
  4879. 1.1/22
  4880. %g "1.4/27     +  Data Items in Logical Order" 0
  4881.  
  4882. %p
  4883. If no source document or external information is involved, then design
  4884. forms so that data items are ordered in the sequence in which a user
  4885. will think of them.
  4886.  
  4887. %p "Comment"
  4888. The software designer will need to work with prospective system users to
  4889. determine what represents a logical sequence of data entries.
  4890.  
  4891. %p "Reference"
  4892. PR 4.8.5
  4893.  
  4894. %p "See also"
  4895. 2.5/14
  4896. %g "1.4/28     Automatic Cursor Placement" 0
  4897.  
  4898. %p
  4899. When a form for data entry is displayed, the computer should place the
  4900. cursor automatically at the beginning of the first entry field.
  4901.  
  4902. %p "Exception"
  4903. If a data form is regenerated following an entry error, the cursor
  4904. should be placed in the first field in which an error has been detected.
  4905.  
  4906. %p "Reference"
  4907. BB 2.1.4
  4908. PR 4.9.1
  4909.  
  4910. %p "See also"
  4911. 1.1/21 3.1.3/29 4.4/16
  4912. %a "1.5    Tables"
  4913.  
  4914. %p
  4915. Tables permit data entry and display in row-column format, facilitating
  4916. comparison of related data sets.
  4917. %g "1.5/1      Tables for Related Data Sets" 0
  4918.  
  4919. %p
  4920. When sets of data items must be entered sequentially, in a repetitive
  4921. series, provide a tabular display format where data sets can be keyed
  4922. row by row.
  4923.  
  4924. %p "Exception"
  4925. When the items in each data set exceed the capacity of a single row,
  4926. tabular entry will usually not be desirable, unless there is a simple
  4927. means for horizontal scrolling.
  4928.  
  4929. %p "Comment"
  4930. Row-by-row entry facilitates comparison of related data items, and
  4931. permits potential use of a DITTO key for easy duplication of repeated
  4932. entries.
  4933.  
  4934. %p "Reference"
  4935. PR 4.8.4
  4936.  
  4937. %p "See also"
  4938. 2.7.2/4
  4939. %g "1.5/2      Distinctive Labels" 0
  4940.  
  4941. %p
  4942. Design distinctive formats for column headers and row labels, so that
  4943. users can distinguish them from data entries.
  4944.  
  4945. %p "See also"
  4946. 4.0/8
  4947. %g "1.5/3      +  Informative Labels" 0
  4948.  
  4949. %p
  4950. Ensure that column headers and row labels are worded informatively, so
  4951. that they will help guide data entry.
  4952.  
  4953. %p "See also"
  4954. 4.0/11
  4955. %g "1.5/4      Tabbing within Rows" 0
  4956.  
  4957. %p
  4958. During tabular data entry, allow users to tab directly from one data
  4959. field to the next, so that the cursor can move freely back and forth
  4960. within a row (i.e., across columns).
  4961.  
  4962. %p "Reference"
  4963. MS 5.15.3.8.4.3
  4964. %g "1.5/5      +  Tabbing within Columns" 0
  4965.  
  4966. %p
  4967. During tabular data entry, allow users to tab directly from one data
  4968. field to the next, so that the cursor can move freely up and down a
  4969. column (i.e., across rows).
  4970.  
  4971. %p "Reference"
  4972. MS 5.15.3.8.4.3
  4973. %g "1.5/6      Automatic Justification of Entries" 0
  4974.  
  4975. %p
  4976. Provide automatic justification of tabular data entries; a user should
  4977. not have to enter blanks or other extraneous formatting characters to
  4978. achieve proper justification.
  4979.  
  4980. %p "Example"
  4981. As a negative example, if a user enters "56" in a field four characters
  4982. long, the system should not interpret "56 __ __" as "5600".
  4983.  
  4984. %p "Reference"
  4985. MS 5.15.2.2.5
  4986. %g "1.5/7      +  Justification of Numeric Entries" 0
  4987.  
  4988. %p
  4989. Allow users to make numeric entries in tables without concern for
  4990. justification; the computer should right-justify integers, or else
  4991. justify with respect to a decimal point if present.
  4992.  
  4993. %p "Example"
  4994. A dollars-and-cents entry made at the beginning of a field
  4995.   | 14.37 __ __ |
  4996. should automatically be justified to the right
  4997.   | __ __ 14.37 |
  4998. when later displayed.
  4999.  
  5000. %p "Reference"
  5001. PR 4.8.10
  5002. %g "1.5/8      +  Maintaining Significant Zeros" 0
  5003.  
  5004. %p
  5005. When a user must enter numeric values that will later be displayed,
  5006. maintain all significant zeros; zeros should not be arbitrarily removed
  5007. after a decimal point if they affect the meaning of the number in terms
  5008. of significant digits.
  5009.  
  5010. %p "Reference"
  5011. BB 1.4.3
  5012.  
  5013. %p "See also"
  5014. 2.3/17
  5015. %g "1.5/9      Aiding Entry of Duplicative Data" 0
  5016.  
  5017. %p
  5018. For entry of tabular data, when entries are frequently repeated, provide
  5019. users with some easy means to copy duplicated data.
  5020.  
  5021. %p "Example"
  5022. Perhaps a DITTO key might be provided.
  5023.  
  5024. %p "Comment"
  5025. A DITTO capability will speed data entry, and should prove more accurate
  5026. than requiring users to rekey duplicated data.
  5027. %g "1.5/10     Row Scanning Cues" 0
  5028.  
  5029. %p
  5030. For long tables, those with many rows, provide some extra visual cue to
  5031. help a user scan a row accurately across columns.
  5032.  
  5033. %p "Example"
  5034. A blank line might be inserted after every fifth row; or perhaps adding
  5035. dots between columns in every fifth row might suffice.
  5036.  
  5037. %p "Example"
  5038. As an alternative, provide a displayed ruler which a user can move from
  5039. one row to another.
  5040.  
  5041. %p "Comment"
  5042. Visual aids for scanning rows are probably needed more when a user is
  5043. reviewing and changing displayed data than for initial data entry.  Such
  5044. aids should be provided consistently, however, so that display formats
  5045. for both data entry and review will be compatible.
  5046.  
  5047. %p "See also"
  5048. 2.3/14
  5049. %a "1.6    Graphics"
  5050.  
  5051. %p
  5052. Graphics permit entry of data specially formatted to show spatial,
  5053. temporal, or other relations among data sets.
  5054. %g "1.6/1      Pointing" 0
  5055.  
  5056. %p
  5057. When graphic data entry involves frequent pointing on a display surface,
  5058. design the user interface so that actions for display control and
  5059. sequence control are also accomplished by pointing, in order to minimize
  5060. shifts from one entry device to another.
  5061.  
  5062. %p "Example"
  5063. In drawing a flow chart, a user should be able to link predecessor and
  5064. successor elements directly by pointing at them, or by drawing lines
  5065. between them, rather than by separately keyed entries.
  5066.  
  5067. %p "Exception"
  5068. Alphabetic entry for titles, labels, and other annotation of graphic
  5069. displays will be accomplished more quickly by conventional keyboard
  5070. input than by pointing.
  5071.  
  5072. %p "Comment"
  5073. This recommendation implies extensive use of menus in the margins of a
  5074. graphic display to permit direct selection of data attributes and
  5075. control options by pointing.  If screen capacity is too limited to
  5076. permit simultaneous display of both graphic data and menus, then the
  5077. designer might provide temporary superposition of menu windows on
  5078. displayed data, or might provide some separate display device to show
  5079. current options for control entry.  Control entry via keyboard and/or
  5080. function keys will be less satisfactory.
  5081.  
  5082. %p "Comment"
  5083. If pointing is performed on some separate input device, such as a stylus
  5084. on a digitizing tablet, then associated control actions should also be
  5085. implemented via that device.
  5086.  
  5087. %p "Comment"
  5088. For graphics software, a pointing action by a user can accomplish
  5089. several different logical functions: specifying a displayed element
  5090. ("pick" function); selecting a system-defined object, attribute or
  5091. action ("button" or "choice" function); or indicating a location in the
  5092. conceptual drawing space ("locator" function).  A designer must
  5093. distinguish among these functions, although most users will not.
  5094.  
  5095. %p "Reference"
  5096. Foley Wallace 1974
  5097. Foley Van Dam 1982
  5098. Foley Wallace Chan 1984
  5099.  
  5100. %p "See also"
  5101. 1.0/5 1.1
  5102. %g "1.6/2      +  Distinctive Cursor" 0
  5103.  
  5104. %p
  5105. Indicate the current cursor position by displaying some distinctive
  5106. cursor symbol at that point.
  5107.  
  5108. %p "Comment"
  5109. The cursor may take various forms on a graphics display.  Many designers
  5110. recommend a plus-sign for this purpose, representing abbreviated
  5111. cross-hairs whose intersection can mark a position with reasonable
  5112. precision.  In some applications it may help to extend those cross-hairs
  5113. the full height and width of the display.  In some applications it may
  5114. help to display a cursor incorporating the current values of various
  5115. attributes (color, size, etc.) that can be selected by a user.
  5116.  
  5117. %p "Reference"
  5118. Foley Wallace Chan 1984
  5119.  
  5120. %p "See also"
  5121. 1.1/1 1.6/12
  5122. %g "1.6/3      +  Easy Cursor Positioning" 0
  5123.  
  5124. %p
  5125. Provide users an easy, accurate means of positioning a displayed cursor
  5126. to point at different display elements and/or display locations.
  5127.  
  5128. %p "Comment"
  5129. Cursor positioning is a frequent user action during graphic data entry;
  5130. an easy means for controlling cursor movement will be essential for
  5131. efficient performance.
  5132.  
  5133. %p "See also"
  5134. 1.1/7
  5135. %g "1.6/4      Confirming Cursor Position" 0
  5136.  
  5137. %p
  5138. For most graphics data entry, pointing should be a dual action, first
  5139. positioning a cursor at a desired position, and then confirming that
  5140. position to the computer.
  5141.  
  5142. %p "Exception"
  5143. An exception to this recommendation would be the freehand drawing of
  5144. continuous lines ("path specification"), where a computer must store and
  5145. display a series of cursor positions as they are input by the user; when
  5146. the user initiates such a line-drawing sequence, a new data point might
  5147. be recorded automatically whenever the cursor has been moved a certain
  5148. distance (e.g., 1 mm) or when a certain time has elapsed (e.g., 0.5 s).
  5149.  
  5150. %p "Comment"
  5151. During graphics data entry, a cursor will almost always be somewhere on
  5152. the display, but not necessarily at a location intended by the user.  In
  5153. effect, a user needs some way to move the cursor around and some
  5154. separate action to signal the computer when its position should be
  5155. recorded.
  5156.  
  5157. %p "Comment"
  5158. An interesting case of position confirmation is "rubberbanding", which
  5159. is a technique to aid line drawing.  With rubberbanding, a user can
  5160. designate the starting point for a line, then move the cursor to various
  5161. possible end points while the computer continuously shows the line that
  5162. would result if that end point were confirmed by the user.
  5163.  
  5164. %p "Reference"
  5165. Foley Wallace 1974
  5166. Foley Wallace Chan 1984
  5167.  
  5168. %p "See also"
  5169. 1.1/4 1.6.2/2
  5170. %g "1.6/5      Zooming for Precise Positioning" 0
  5171.  
  5172. %p
  5173. When data entry requires exact placement of graphic elements, users
  5174. should be allowed to request expansion of the critical display area
  5175. ("zooming") to make the positioning task easier.
  5176.  
  5177. %p "Reference"
  5178. Foley Wallace 1974
  5179.  
  5180. %p "See also"
  5181. 1.6.2/11 2.4/15
  5182. %g "1.6/6      Selecting Graphic Elements" 0
  5183.  
  5184. %p
  5185. Provide users some means for designating and selecting displayed graphic
  5186. elements for manipulation.
  5187.  
  5188. %p "Example"
  5189. Designation might be by pointing, in the case of a discrete element, or
  5190. might require some sort of outlining action to delineate portions of a
  5191. complex figure.
  5192.  
  5193. %p "See also"
  5194. 1.3/5
  5195. %g "1.6/7      +  Highlighting Selected Elements" 0
  5196.  
  5197. %p
  5198. When a user has selected (i.e., pointed at) a displayed graphic element,
  5199. highlight that element in some way so that the user can anticipate the
  5200. consequences of any proposed action involving that selection.
  5201.  
  5202. %p "Example"
  5203. A dotted border might be displayed around a selected element, or perhaps
  5204. a selected element might be displayed with video inversion to
  5205. distinguish it from other elements.
  5206.  
  5207. %p "Reference"
  5208. Foley Wallace Chan 1984
  5209.  
  5210. %p "See also"
  5211. 1.3/7 2.6/1 4.2/10
  5212. %g "1.6/8      Changing Position (Translation)" 0
  5213.  
  5214. %p
  5215. When editing graphic data, allow users to reposition selected elements
  5216. on the display.
  5217.  
  5218. %p "Comment"
  5219. Repositioning displayed elements, whether done by "dragging" or
  5220. "cut-and-paste", will usually prove easier than deleting an element and
  5221. then recreating it from scratch in the desired location.  A capability
  5222. for moving elements will aid initial data entry as well as any
  5223. subsequent editing of graphic data.
  5224.  
  5225. %p "Comment"
  5226. If an element is moved visibly by dragging across the display, it is
  5227. probably not necessary to depict it in complete detail in all of its
  5228. intermediate positions.  It might suffice to show it in simplified
  5229. outline until its new position has been confirmed by the user (or
  5230. perhaps until it remains in one position for a fixed interval of time),
  5231. at which point its details could be filled in again by the computer.
  5232.  
  5233. %p "See also"
  5234. 1.3/23
  5235. %g "1.6/9      Deleting Elements" 0
  5236.  
  5237. %p
  5238. When editing graphic data, allow users to delete selected elements from
  5239. the display.
  5240.  
  5241. %p "Comment"
  5242. Deletion/erasure will help when mistakes are made during data entry, as
  5243. well as in any subsequent editing of graphic data.  Deletion should be
  5244. implemented as a reversible action.  A general UNDO capability might
  5245. suffice to reverse deletions.  A more extended reversibility might be
  5246. provided by saving deleted elements in a computer scrap basket from
  5247. which they can be retrieved any time during a work session in case a
  5248. deletion is discovered to be a mistake.
  5249. %g "1.6/10     Selecting from Displayed Attributes" 0
  5250.  
  5251. %p
  5252. During graphic data entry, allow users to specify attributes for
  5253. displayed elements -- e.g., text font, plotting symbol, line type, color
  5254. -- by selecting from displayed samples illustrating the available
  5255. options.
  5256.  
  5257. %p "Example"
  5258. For line drawing a user might select from displayed samples of thick or
  5259. thin, solid or broken, etc.
  5260.  
  5261. %p "Comment"
  5262. A display of available attributes will serve as a helpful reminder to
  5263. the user, and will eliminate the need to assign distinctive verbal
  5264. labels to the various options.
  5265.  
  5266. %p "Comment"
  5267. Samples of some attributes may be difficult to display.  In complex
  5268. graphics, for example, specification of line type might involve
  5269. selection among "brushes", each of which has a "tip" defining the size
  5270. and shape of the drawing area (a group of pixels) that the user can
  5271. manipulate.  Brushes might have squared tips to draw sharp lines, or
  5272. rounded tips to draw lines with softer edges.  By analogy with artistic
  5273. painting, a "smear" brush might be provided to average or blend colors
  5274. along its path.  Selective erasure might be accomplished with a brush
  5275. applying (returning to) the color of the display background.
  5276.  
  5277. %p "Comment"
  5278. In most applications, the current selection of data attributes should
  5279. remain in effect until a new selection is made.  In some cases, e.g.,
  5280. following selection of an "erase" attribute, it may help the user if a
  5281. selected attribute reverts automatically to a default value at the
  5282. completion of a transaction sequence.
  5283. %g "1.6/11     +  Selecting Colors" 0
  5284.  
  5285. %p
  5286. If users may select colors as an attribute of graphic elements, allow
  5287. them to specify colors directly by pointing at displayed samples, rather
  5288. than requiring them to name the colors.
  5289.  
  5290. %p "Exception"
  5291. If only a few colors are available, their names can probably be used
  5292. reliably.
  5293.  
  5294. %p "Comment"
  5295. If many colors are available, users with normal vision can choose from
  5296. displayed samples more reliably than from a list of color names.  For
  5297. color-blind users, however, it might be helpful to add names/labels to
  5298. the displayed samples.
  5299.  
  5300. %p "Comment"
  5301. For more elaborate graphic art, it may be helpful to allow users to mix
  5302. their own colors by sequential selection (i.e., cursor placement),
  5303. either in a displayed palette or directly in a graphic image.  Such
  5304. color mixing could permit user control of saturation, brightness, and
  5305. opacity/transparency, as well as hues.
  5306. %g "1.6/12     +  Displaying Current Attributes" 0
  5307.  
  5308. %p
  5309. During graphic data entry/editing, display the selected attributes that
  5310. will affect current actions for ready reference by the user.
  5311.  
  5312. %p "Example"
  5313. When graphic attributes -- plotting symbols, character size, line type,
  5314. color, etc. -- are chosen from displayed menus, it might suffice to
  5315. highlight the currently selected menu options; alternatively, current
  5316. selections might be shown in some sort of "reminder" window.
  5317.  
  5318. %p "Example"
  5319. A few attributes might be shown by the displayed cursor, i.e., by
  5320. changing cursor shape, size or color depending upon current attribute
  5321. selections.
  5322.  
  5323. %p "Example"
  5324. If rubberbanding is provided to aid line drawing, then that process
  5325. itself would show the currently selected line type.
  5326.  
  5327. %p "Comment"
  5328. Users may forget what options have been chosen.  Displayed reminders
  5329. will be particularly important in situations where the consequences of a
  5330. mistaken user action are difficult to reverse, e.g., where it may be
  5331. hard to erase a wrongly drawn line.
  5332.  
  5333. %p "Comment"
  5334. In some applications, display cues may not be adequate to convey
  5335. attribute information completely.  There may not be sufficient room on
  5336. the display.  Or the attributes may derive from underlying models whose
  5337. characteristics are too complex for simple display representation.  In
  5338. such cases, users should be able to request auxiliary display of such
  5339. information to determine the operative context for current actions.
  5340.  
  5341. %p "See also"
  5342. 1.6.2/2 3.0/9 4.0/9 4.4/13 3.4
  5343. %g "1.6/13     Changing Attributes" 0
  5344.  
  5345. %p
  5346. When entering or editing graphic data, allow users to change display
  5347. attributes -- e.g., line type, cross-hatching, color -- for selected
  5348. graphic elements.
  5349.  
  5350. %p "Example"
  5351. If a figure was created initially with dashed lines, then a user should
  5352. be able to select the figure, or portions of it, and change the dashed
  5353. lines to solid lines by specifying that alternative attribute.
  5354.  
  5355. %p "Comment"
  5356. If it is easy to change attributes, reversing earlier data entry
  5357. decisions, then the process of composing graphic displays will be
  5358. generally easier.
  5359.  
  5360. %p "Comment"
  5361. Another approach to changing an attribute might be to rely on general
  5362. editing capabilities, i.e., to delete the element in question (perhaps
  5363. using an UNDO command for an element just created) and then redraw it.
  5364. But a capability for specifying attribute change directly, without
  5365. element deletion and reentry, will often be helpful.
  5366.  
  5367. %p "See also"
  5368. 1.6/6
  5369. %g "1.6/14     +  Consistent Method for Attribute Selection" 0
  5370.  
  5371. %p
  5372. When editing graphic data, allow users to change display attributes by
  5373. whatever means were used to select those attributes in the first place.
  5374.  
  5375. %p "Example"
  5376. If line type is selected initially from a menu of displayed attributes,
  5377. then changing a line type should also be accomplished via menu
  5378. selection.
  5379.  
  5380. %p "Comment"
  5381. Many editing changes will be made during data entry, rather than as
  5382. separate later actions, and thus it is important that entry and editing
  5383. actions be consistent.
  5384. %g "1.6/15     Easy Storage and Retrieval" 0
  5385.  
  5386. %p
  5387. Provide easy means for saving and retrieving graphic displays or their
  5388. component elements at different stages in their creation.
  5389.  
  5390. %p "Comment"
  5391. A user should not have to create a graphic image more than once.  Once a
  5392. graphic element has been created, a user should be able to save it for
  5393. possible re-use.
  5394.  
  5395. %p "Comment"
  5396. As a protective measure, a user might wish to save different versions of
  5397. a graphic display at successive stages during its creation, in order to
  5398. return to an earlier state if later results seem unsatisfactory.  During
  5399. creation, the elements added to a graphic display can be interrelated in
  5400. complex ways, and thus stepwise deletion of unwanted elements could
  5401. prove a difficult process.  An UNDO command might be helpful for
  5402. deleting some of the most recently added elements.  But storage and
  5403. subsequent retrieval of interim versions of the display may be more
  5404. helpful for a foresighted user.
  5405. %g "1.6/16     +  Naming Displays and Elements" 0
  5406.  
  5407. %p
  5408. Allow users to name graphic displays or designated elements, in order to
  5409. aid storage and retrieval or manipulation during graphic data
  5410. entry/editing; and provide means for a user to review a current
  5411. "catalog" of named elements.
  5412.  
  5413. %p "Comment"
  5414. Standard displays and graphic components might be assigned names
  5415. automatically by the computer, but users will still need a capability to
  5416. assign their own names to interim versions of displays in creation, or
  5417. to various elements of those displays.  In either case, users may forget
  5418. what names have been assigned; some "catalog" of currently named
  5419. elements will serve as a helpful reminder.
  5420.  
  5421. %p "Comment"
  5422. For currently displayed material, pointing may be more convenient than
  5423. naming for the designation of selected elements; but names will
  5424. certainly aid the retrieval of stored material.
  5425.  
  5426. %p "Reference"
  5427. Gardan Lucas 1984
  5428. %g "1.6/17     Automatic Data Registration" 0
  5429.  
  5430. %p
  5431. Provide automatic registration or alignment of computer-generated
  5432. graphic data, so that variable data are shown properly with respect to
  5433. fixed background or map data at any display scale.
  5434.  
  5435. %p "Comment"
  5436. When users are required to enter data via some separate device such as a
  5437. graphics tablet, rather than directly on the display surface, it may be
  5438. necessary for a user to participate in some computer-prompted procedure
  5439. for ensuring data registration.  Such a procedure may prove error-prone,
  5440. however, and should be considered an undesirable expedient.
  5441. %g "1.6/18     Aids for Entering Hierarchic Data" 0
  5442.  
  5443. %p
  5444. When graphic data must be entered in an organized hierarchic structure,
  5445. in different sections and at different levels of increasing detail,
  5446. provide computer aids for that purpose.
  5447.  
  5448. %p "Example"
  5449. For entering map data, a user might have to specify different levels of
  5450. data storage for a city's name and location, its municipal boundaries,
  5451. its major road patterns, its street names and house numbers, etc.;
  5452. computer aids could help that process.
  5453.  
  5454. %p "See also"
  5455. 1.0/31 1.8/12 2.4/15
  5456. %g "1.6/19     Automatic Data Validation" 0
  5457.  
  5458. %p
  5459. When graphic data represent relations among real objects, provide
  5460. appropriate computer logic based on models of physical probability to
  5461. validate data entries.
  5462.  
  5463. %p "Example"
  5464. If data indicate that a military land unit has been reported in the
  5465. middle of a lake, the computer should call that discrepancy to the
  5466. user's attention.
  5467.  
  5468. %p "Comment"
  5469. If inconsistencies of data entry cannot be resolved immediately, the
  5470. computer might keep track of unresolved questions pending receipt of
  5471. further data.
  5472.  
  5473. %p "See also"
  5474. 1.7/1
  5475. %a "1.6.1  Graphics - Plotting Data"
  5476.  
  5477. %p
  5478. Plotting data to show their relations in various graphic formats can be
  5479. aided greatly by appropriate software.
  5480. %g "1.6.1/1    Automated Data Plotting" 0
  5481.  
  5482. %p
  5483. When complex graphic data must be entered quickly, provide computer aids
  5484. to automate that process.
  5485.  
  5486. %p "Example"
  5487. Prestored geographic data and background maps, along with automated
  5488. entry ("posting") of flight plan data and track data, will permit fast
  5489. and accurate generation of graphic displays for air traffic control, far
  5490. beyond the capabilities of manual entry by a user.
  5491.  
  5492. %p "Comment"
  5493. Users can create simple graphics or edit stored graphic material fairly
  5494. quickly, but they can create complex graphic displays only much more
  5495. slowly.  A variety of computer aids can be provided to help enter
  5496. graphic data.  Entry of detailed drawings and/or photographic imagery
  5497. can be accomplished via a video camera and high-resolution digitizer,
  5498. perhaps with facilities for a user to edit that process.
  5499. %g "1.6.1/2    Plotting Stored Data" 0
  5500.  
  5501. %p
  5502. Provide automated plotting of computer-stored data at user request, with
  5503. provision for subsequent editing by a user.
  5504.  
  5505. %p "Example"
  5506. A computer might plot the data values from two arrays in a line graph,
  5507. or three-dimensional data in XYZ coordinates.
  5508.  
  5509. %p "Comment"
  5510. In many applications, data intended for graphic display will already be
  5511. stored in the computer.  In such cases a user might specify the graphic
  5512. format required and edit elements in the resulting display output,
  5513. without actually having to re-enter the data.  When users do have to
  5514. enter data for graphic display, they might choose form filling or
  5515. tabular entry for efficiency in the initial input of data and then
  5516. invoke graphic capabilities for subsequent data editing.  In either
  5517. case, it is important that previously entered data should be accessible
  5518. for graphic processing.
  5519.  
  5520. %p "See also"
  5521. 1.8/7 1.8/8
  5522. %g "1.6.1/3    Predefined Graphic Formats" 0
  5523.  
  5524. %p
  5525. When graphic data must be plotted in predefined standard formats,
  5526. provide templates or skeletal displays for those formats to aid data
  5527. entry.
  5528.  
  5529. %p "Example"
  5530. Sample displays might be stored in the computer to aid in creating
  5531. standard graphs such as bar graphs, or standard diagrams such as
  5532. organization charts, or page layouts for typesetting, or maps drawn to
  5533. different scales or with different projections.
  5534.  
  5535. %p "Comment"
  5536. In many applications, it may help to provide flexibility so that general
  5537. prestored formats can be modified by a user and then saved for
  5538. subsequent use.
  5539.  
  5540. %p "See also"
  5541. 1.6/15
  5542. %g "1.6.1/4    Aids for Graph Construction" 0
  5543.  
  5544. %p
  5545. When graphs must be constructed for data plotting, provide computer aids
  5546. for that purpose.
  5547.  
  5548. %p "Example"
  5549. Construction aids might include stored templates of different kinds of
  5550. graphs, prompts to guide users in the definition of scale axes, and aids
  5551. for format control such as automatic centering of axis labels if
  5552. requested by a user.
  5553.  
  5554. %p "Comment"
  5555. Computer aids for graph construction should be designed to allow
  5556. flexibility in their use.  A user should be allowed to position labels
  5557. and other graphic elements at will, except where operational
  5558. requirements may impose fixed formats.
  5559.  
  5560. %p "Reference"
  5561. Foley Van Dam 1982
  5562. %g "1.6.1/5    +  Aids for Scaling" 0
  5563.  
  5564. %p
  5565. Provide computer aids to help users specify appropriate scales for
  5566. graphic data entry.
  5567.  
  5568. %p "Comment"
  5569. The computer should handle scaling automatically, subject to review and
  5570. change by a user.  The computer might provide a general template for the
  5571. plotting scale and prompt the user as necessary to define the scale more
  5572. exactly, including specification of the origin, linear or logarithmic
  5573. axes, scale intervals, minimum and maximum values, and labels for axes.
  5574.  
  5575. %p "Comment"
  5576. In the process of defining scales the computer might impose rules to
  5577. ensure that the resulting graphic displays are designed to permit
  5578. effective information assimilation by their users, e.g., displaying
  5579. scales with conventional direction, so that numbers increase in value
  5580. from left to right, or from bottom to top.
  5581.  
  5582. %p "Reference"
  5583. Foley Wallace 1974
  5584.  
  5585. %p "See also"
  5586. 2.4.1/1
  5587. %g "1.6.1/6    Computer Derivation of Graphic Data" 0
  5588.  
  5589. %p
  5590. When graphic data can be derived from data already available in the
  5591. computer, provide machine aids for that purpose.
  5592.  
  5593. %p "Example"
  5594. A computer might fit a smoothed curve through plotted data values,
  5595. filter out points when drawing a densely defined curve, rescale graphs,
  5596. invert graphs by exchanging X- and Y-values, convert graphs to show
  5597. cumulative curves, calculate and display various statistical measures of
  5598. data distribution, produce a contour plot from gridded data with linear
  5599. interpolation, plot map contours from latitude-longitude coordinates,
  5600. calculate bearings, distances, and areas on maps, plot perspective views
  5601. of objects defined in plan views, plot specified cross-sections of
  5602. displayed objects, calculate a parts list for a designed assembly,
  5603. identify critical paths and float time in network scheduling charts,
  5604. etc.
  5605.  
  5606. %p "Comment"
  5607. The machine capacity for generating graphic data by computation will far
  5608. exceed a user's capabilities in both speed and accuracy.
  5609.  
  5610. %p "See also"
  5611. 1.8/8
  5612. %a "1.6.2  Graphics - Drawing"
  5613.  
  5614. %p
  5615. Drawing lines and figures to produce pictorial data of various kinds can
  5616. be aided greatly by appropriate software.
  5617. %g "1.6.2/1    Drawing Lines" 0
  5618.  
  5619. %p
  5620. When line drawing is required, provide users with aids for drawing
  5621. straight line segments.
  5622.  
  5623. %p "Comment"
  5624. Some applications may require drawing continuous lines freehand.
  5625.  
  5626. %p "Reference"
  5627. Foley Van Dam 1982
  5628. %g "1.6.2/2    Rubberbanding" 0
  5629.  
  5630. %p
  5631. When lines must be drawn at arbitrary positions, lengths and angles,
  5632. provide a rubberbanding capability, in which the computer displays a
  5633. tentative line extending from a designated start point to whatever is
  5634. the currently proposed end point.
  5635.  
  5636. %p "Comment"
  5637. This technique permits users to enter or change a line segment rapidly
  5638. and with confidence by designating its starting point and then simply
  5639. moving the cursor to the desired end-point, thus placing the
  5640. "rubberband" line in its intended position.  A similar capability should
  5641. be provided to aid entry/editing of specified outline figures.  A
  5642. rectangle might be rubberbanded by fixing one corner and moving the
  5643. opposite corner.  A circle might be rubberbanded to desired size by
  5644. fixing its center and changing the extension of its radius.
  5645.  
  5646. %p "Reference"
  5647. Foley Van Dam 1982
  5648. Foley Wallace Chan 1984
  5649. %g "1.6.2/3    Aiding Line Connection" 0
  5650.  
  5651. %p
  5652. When line segments must join or intersect, which is true in most
  5653. drawing, provide computer logic to aid such connection.
  5654.  
  5655. %p "Comment"
  5656. An effective computer logic to aid line connection is to provide a
  5657. so-called "gravity field" surrounding each line segment, so that if a
  5658. line-drawing cursor is moved within that field the cursor's new line
  5659. will be extended automatically to intersect the already-displayed line.
  5660. Note that a "gravity field" need not itself be displayed; users will
  5661. soon learn to infer its extent by its effect in aiding cursor placement.
  5662. Because users often seek to join line segments at their ends, it may
  5663. help to enlarge the zone of attraction at the end of each displayed line
  5664. to facilitate such end-to-end connection.
  5665.  
  5666. %p "Comment"
  5667. The concept of "gravity field" can also be used to align drawn line
  5668. segments with points in a reference grid, as well as with each other.
  5669.  
  5670. %p "Reference"
  5671. Foley Van Dam 1982
  5672. Gardan Lucas 1984
  5673. %g "1.6.2/4    Grid Reference for Alignment" 0
  5674.  
  5675. %p
  5676. When graphic elements are created with vertical and horizontal
  5677. alignment, provide a reference grid that can be requested by a user to
  5678. aid that alignment.
  5679.  
  5680. %p "Comment"
  5681. A reference grid might be displayed merely as a visual aid.  In some
  5682. instances, however, where repeated graphic elements must be aligned in
  5683. regular fashion, it may be helpful to use a grid to position graphic
  5684. elements automatically at its intersections.  An example might be the
  5685. construction of organization charts with repeating rows of boxes
  5686. connected by line segments.  "Grid gravity" might be provided
  5687. automatically during graphic entry, based on "gravity field" connection
  5688. of drawn lines to grid points, or might be invoked as a separate editing
  5689. command by a user.
  5690.  
  5691. %p "Comment"
  5692. A grid suitable for aiding data entry may not prove equally helpful for
  5693. subsequent interpretation of data on the completed display.  Therefore,
  5694. after a graphic image has been composed, the user should decide whether
  5695. or not to include the reference grid in the finished display.
  5696.  
  5697. %p "Reference"
  5698. Foley Wallace Chan 1984
  5699.  
  5700. %p "See also"
  5701. 2.4.1/11
  5702. %g "1.6.2/5    +  Changing Grid Intervals" 0
  5703.  
  5704. %p
  5705. When a reference grid is displayed to aid graphic data entry, allow
  5706. users to change the grid intervals in either or both directions.
  5707.  
  5708. %p "Comment"
  5709. For different applications, a user may wish to work with a fine grid or
  5710. a coarse grid, depending on the quantizing interval of the data being
  5711. plotted.  Some designers recommend a standard grid resolution of 1/20 of
  5712. graph height or width, but such a standard will not be optimum for every
  5713. application.
  5714. %g "1.6.2/6    Constraint for Vertical and Horizontal Lines" 0
  5715.  
  5716. %p
  5717. When graphic elements are created with vertical and horizontal lines,
  5718. allow users to specify appropriate constraints during line drawing.
  5719.  
  5720. %p "Comment"
  5721. Here computer logic is invoked to interpret casual freehand gestures by
  5722. a user as if they were carefully drawn -- the electronic equivalent of a
  5723. draftsman's T-square.  Thus a roughly vertical motion by a user could
  5724. create an exactly vertical line in computer storage and display.
  5725.  
  5726. %p "Comment"
  5727. In applications where orthogonal lines predominate, it may be helpful to
  5728. make constrained drawing the norm, while allowing users to specify
  5729. free-form drawing as an exception.
  5730.  
  5731. %p "Reference"
  5732. Foley Van Dam 1982
  5733. Gardan Lucas 1984
  5734. %g "1.6.2/7    Specifying Line Relations" 0
  5735.  
  5736. %p
  5737. For precise drawing, allow users to draw lines by specifying their
  5738. geometric relations with other lines.
  5739.  
  5740. %p "Example"
  5741. In computer-aided design, a user might wish to create a new line by
  5742. declaring it parallel with (or perpendicular to) an existing line.
  5743. %g "1.6.2/8    Drawing Figures" 0
  5744.  
  5745. %p
  5746. When a user must draw figures, provide computer aids for that purpose.
  5747.  
  5748. %p "Example"
  5749. A user might select from a stored set of standard forms -- rectangles,
  5750. circles, etc. -- and edit those to create figures or the component
  5751. elements of figures, rather than having to draw each figure from
  5752. scratch.
  5753.  
  5754. %p "Example"
  5755. Computer logic might be provided to allow a user to create a rectangle
  5756. simply by designating two opposite corners, or a circle by first
  5757. specifying its center and then any point on its circumference, with
  5758. rubberbanding to show the result of any current selection.
  5759.  
  5760. %p "Comment"
  5761. Much graphic construction can either be aided in some way (by templates,
  5762. tracing techniques, grid gravity, etc.), or can employ machine
  5763. generation of computed or stored forms, often followed by user editing
  5764. of those forms.  A great many different figures can be created by
  5765. combining simple elements or by specifying geometric parameters (e.g.,
  5766. conic sections).  Computer aids that allow such shortcuts can speed
  5767. figure drawing and make the process more accurate.  In some
  5768. applications, such as constructing organization charts, figures may
  5769. repeat a number of standard elements.  In such cases computer aids can
  5770. be provided to make the production of figures almost routine.
  5771.  
  5772. %p "Comment"
  5773. Some capability for freehand drawing may be needed, particularly in the
  5774. creation of graphic art, but freehand drawing will not provide
  5775. sufficient precision for many applications.
  5776.  
  5777. %p "Reference"
  5778. Gardan Lucas 1984
  5779.  
  5780. %p "See also"
  5781. 1.6.1/3
  5782. %g "1.6.2/9    +  Alternative Methods for Drawing Figures" 0
  5783.  
  5784. %p
  5785. In applications requiring a general capability for drawing figures,
  5786. provide a choice of methods for specifying graphic elements.
  5787.  
  5788. %p "Example"
  5789. A straight line might usually be created by specifying two points, but
  5790. sometimes it might be easier to specify one point plus a constraint that
  5791. the line be parallel (perpendicular, tangent) to some other line.
  5792.  
  5793. %p "Example"
  5794. A circle might usually be created by specifying its center and a point
  5795. on its circumference; but sometimes it might be easier to specify a
  5796. circle by other means -- e.g., by two ends of its diameter, or by three
  5797. points on its circumference, or by its center plus a constraint that it
  5798. be tangent to some other figure, or by inscribing it within a square.
  5799.  
  5800. %p "Example"
  5801. An ellipse might usually be created by specifying two foci and a point
  5802. on its perimeter, but sometimes it might be easier to specify its center
  5803. and draw its long and short axes, or it might be inscribed within a
  5804. rectangle.
  5805.  
  5806. %p "Example"
  5807. A regular polygon might usually be created by specifying the end points
  5808. of one edge and the number of sides, but it also might be specified by
  5809. its center and one vertex and the number of its sides.
  5810.  
  5811. %p "Comment"
  5812. These examples are from the demanding realm of computer-aided design.
  5813. Simpler kinds of graphic entry may not require such capabilities.
  5814.  
  5815. %p "Comment"
  5816. In the use of various figure-drawing aids, it may be helpful if the
  5817. computer can provide step-by-step prompts for each procedure, e.g., "Now
  5818. indicate center point", "Now indicate radius", etc.
  5819.  
  5820. %p "Reference"
  5821. Gardan Lucas 1984
  5822. %g "1.6.2/10   Changing Size" 0
  5823.  
  5824. %p
  5825. When editing graphic data, allow users to change the size of any
  5826. selected element on the display.
  5827.  
  5828. %p "Comment"
  5829. Scaling displayed elements to different sizes, expanding or shrinking
  5830. them, will usually prove easier than deleting an element and then
  5831. recreating it from scratch in the desired size.  A capability for
  5832. changing the scale of a displayed element will aid initial data entry as
  5833. well as any subsequent editing of graphic data.
  5834.  
  5835. %p "Comment"
  5836. Depending on the application, it may be helpful to provide a continuous
  5837. sizing capability, or else incremental sizing to various defined scales.
  5838. %g "1.6.2/11   +  Enlargement for Symbol Drawing" 0
  5839.  
  5840. %p
  5841. In applications where users may create special symbols, provide a
  5842. capability for drawing (or changing) a symbol in large scale, with
  5843. automatic reduction by the computer to the needed size.
  5844.  
  5845. %p "Example"
  5846. Enlargement might aid in specifying shapes to be used for plotting
  5847. points or for map symbols, or in designing icons or the letters in a
  5848. font.
  5849.  
  5850. %p "Comment"
  5851. When drawing symbols in large scale, a rough sketch may suffice,
  5852. requiring less dexterity from a user.  The desirable degree of scale
  5853. expansion will depend upon symbol complexity, and can probably be
  5854. determined by testing.  Some designers recommend a 20x20 grid to provide
  5855. an enlarged pixel representation, on which a user can add or delete
  5856. pixels to create a symbol.
  5857.  
  5858. %p "See also"
  5859. 1.6/5
  5860. %g "1.6.2/12   Copying Elements" 0
  5861.  
  5862. %p
  5863. Allow users to copy a selected graphic element in order to duplicate it
  5864. elsewhere or create a repeating pattern.
  5865.  
  5866. %p "Comment"
  5867. Many graphic displays contain repeating elements; copying an element
  5868. already created may prove quicker than redrawing that element from
  5869. scratch.
  5870.  
  5871. %p "Comment"
  5872. In creating patterns, a user will often need to specify a reference
  5873. point in the original element and then specify where that point should
  5874. be placed for each copy of that element.
  5875.  
  5876. %p "Comment"
  5877. In some special applications, it might help to provide an optional kind
  5878. of copying capability called "instancing", in which a user can choose to
  5879. copy a graphic element from a stored template, and then all copies (or
  5880. instances) will be changed automatically whenever that original template
  5881. is changed.
  5882.  
  5883. %p "See also"
  5884. 1.6/15
  5885. %g "1.6.2/13   Rotating Elements" 0
  5886.  
  5887. %p
  5888. When editing graphic data that depict objects, allow users to rotate a
  5889. selected element on the display, in order to show it in different
  5890. orientations.
  5891.  
  5892. %p "Comment"
  5893. Rotation of a displayed element will usually prove easier than deleting
  5894. an element and then recreating it from scratch in the desired
  5895. orientation.  A capability for rotating an element will aid initial data
  5896. entry as well as any subsequent editing of graphic data.
  5897.  
  5898. %p "See also"
  5899. 2.4.6/5
  5900. %g "1.6.2/14   Reflection of Elements" 0
  5901.  
  5902. %p
  5903. When users must create symmetric graphic elements, provide a means for
  5904. specifying a reflection (mirror image) of existing elements.
  5905.  
  5906. %p "Comment"
  5907. Many graphic displays contain symmetric figures where if one side has
  5908. been drawn the other side might be created quickly as a reflected copy
  5909. of the first, perhaps with some subsequent modification by the user.
  5910.  
  5911. %p "Comment"
  5912. Users will need some means for specifying the desired reflection plane,
  5913. which for practical purposes should probably be constrained to a choice
  5914. between left-right and up-down reflection.
  5915.  
  5916. %p "Reference"
  5917. Gardan Lucas 1984
  5918. %g "1.6.2/15   Grouping Elements" 0
  5919.  
  5920. %p
  5921. Allow users to designate a group of elements to which graphic editing
  5922. operations will be applied in common.
  5923.  
  5924. %p "Example"
  5925. A user might carefully position two elements with respect to each other,
  5926. and then wish to move both of them together while preserving their
  5927. relative positions.
  5928.  
  5929. %p "Comment"
  5930. Grouping elements might be a temporary action, intended for just a few
  5931. successive editing operations, or it might be specified more permanently
  5932. via some sort of "make group" command.
  5933.  
  5934. %p "See also"
  5935. 1.6/6
  5936. %g "1.6.2/16   Merging Elements" 0
  5937.  
  5938. %p
  5939. In the special case when a drawn object can be created by the junction
  5940. or disjunction of other graphic elements, provide computer aids for
  5941. merging those elements by boolean combination.
  5942.  
  5943. %p "Example"
  5944. In showing the junction of two objects comprising the components of some
  5945. more complex object, a computer might calculate and draw their
  5946. intersection, automatically dealing with overlapped data sets and
  5947. concealed contours.
  5948.  
  5949. %p "Comment"
  5950. This technique can represent the intersection of solid objects and also
  5951. the result of drilling holes in an object.
  5952.  
  5953. %p "Reference"
  5954. Gardan Lucas 1984
  5955. %g "1.6.2/17   Filling Enclosed Areas" 0
  5956.  
  5957. %p
  5958. When area coding is required, provide aids to allow users to fill an
  5959. enclosed area with a selected attribute (color, shading or
  5960. cross-hatching) by a simple specification action, rather than by having
  5961. to trace over the area involved.
  5962.  
  5963. %p "Example"
  5964. For many applications, it may suffice if a user can simply point at one
  5965. of several displayed attributes (color patches, brightness levels,
  5966. hatching patterns) and then point at the area to be filled.
  5967.  
  5968. %p "Comment"
  5969. A user might wish to shade the bars of a bar chart, or the wedges in a
  5970. pie chart, or the various components of a drawn diagram or picture.
  5971. %g "1.6.2/18   Automatic Figure Completion" 0
  5972.  
  5973. %p
  5974. In applications where design rules have been previously defined, provide
  5975. computer aids to complete automatically any details of graphic data
  5976. entry covered by those rules.
  5977.  
  5978. %p "Example"
  5979. The computer might automatically add dimensional annotation to drafted
  5980. figures.
  5981.  
  5982. %p "Example"
  5983. When drawing or editing a polygon, the computer might automatically
  5984. maintain closure if additional vertices are specified, rather than
  5985. requiring the user to close the figure manually.
  5986.  
  5987. %p "Example"
  5988. In computer-aided design, if the flanges of connected components are
  5989. designed with arcs of standard radius, then a user might draw those
  5990. joints square and ask the computer to round them.
  5991.  
  5992. %p "Example"
  5993. A computer might create perspective drawings automatically from plan and
  5994. elevation data, with hidden parts eliminated.
  5995.  
  5996. %p "Example"
  5997. In drawing flow charts, a computer might automatically add the arrow to
  5998. a connecting line, depending upon the direction in which the line was
  5999. drawn (or the sequence in which its points were designated).
  6000.  
  6001. %p "Reference"
  6002. Gardan Lucas 1984
  6003.  
  6004. %p "See also"
  6005. 1.6.1/6
  6006. %g "1.6.2/19   Stored Models" 0
  6007.  
  6008. %p
  6009. When drawings are variations on a common theme, consider providing a
  6010. computer model that will allow users to create particular instances by
  6011. entering appropriate parameters.
  6012.  
  6013. %p "Example"
  6014. An aerodynamic model might be invoked to help create (and evaluate) an
  6015. aircraft wing design.
  6016.  
  6017. %p "Example"
  6018. For designing a workplace for human use, it might be helpful to store a
  6019. body model from which the computer could draw automatically a sample
  6020. user of any specified size percentile, and then move body parts of the
  6021. displayed sample user to ensure that all controls are within reach.
  6022.  
  6023. %p "Comment"
  6024. Different kinds of models might be needed, including models based on
  6025. geometric, surface, and solid relations, as well as even more complex
  6026. logical models.
  6027.  
  6028. %p "Reference"
  6029. Foley Van Dam 1982
  6030. Gardan Lucas 1984
  6031. %a "1.7    Data Validation"
  6032.  
  6033. %p
  6034. Data validation refers to checking entries for correct content and/or
  6035. format, as defined by software logic.
  6036. %g "1.7/1      Automatic Data Validation" 0
  6037.  
  6038. %p
  6039. Provide software for automatic data validation to check any item whose
  6040. entry and/or correct format or content is required for subsequent data
  6041. processing.
  6042.  
  6043. %p "Example"
  6044. If a date is entered as "February 31", the computer should generate an
  6045. error message asking for a revised entry.
  6046.  
  6047. %p "Comment"
  6048. Do not rely on a user always to make correct entries.  Computer aids for
  6049. checking data entries will improve accuracy.
  6050.  
  6051. %p "Comment"
  6052. Some data entries, of course, may not need checking, or may not be
  6053. susceptible to computer checking, such as free text entries in a COMMENT
  6054. field.
  6055.  
  6056. %p "Reference"
  6057. MS 5.15.2.1.5
  6058. PR 4.12.4
  6059.  
  6060. %p "See also"
  6061. 6.3/17 6.3/18
  6062. %g "1.7/2      Accepting Correct Entries" 0
  6063.  
  6064. %p
  6065. Ensure that every possible correct data entry will be accepted and
  6066. processed properly by the computer.
  6067.  
  6068. %p "Example"
  6069. As a negative example, on 1 June 1983, after several previous months of
  6070. successful use, the computers controlling Massachusetts automobile
  6071. emission inspections failed; it was discovered that they would not
  6072. accept a "June" entry.
  6073.  
  6074. %p "Comment"
  6075. This guideline states the obvious, and might seem unnecessary except for
  6076. occasional design lapses such as that cited in the example.
  6077. %g "1.7/3      Non-Disruptive Error Messages" 0
  6078.  
  6079. %p
  6080. If data validation detects a probable error, display an error message to
  6081. the user at the completion of data entry; do not interrupt an ongoing
  6082. transaction.
  6083.  
  6084. %p "See also"
  6085. 4.3/10
  6086. %g "1.7/4      Deferral of Required Data Entry" 0
  6087.  
  6088. %p
  6089. If a user wishes to defer entry of a required data item, require the
  6090. user to enter a special symbol in the data field to indicate that the
  6091. item has been temporarily omitted rather than ignored.
  6092.  
  6093. %p "Reference"
  6094. MS 5.15.4.3.11
  6095. PR 4.8.7 4.12.2
  6096.  
  6097. %p "See also"
  6098. 4.0/2
  6099. %g "1.7/5      +  Reminder of Deferred Entry" 0
  6100.  
  6101. %p
  6102. If a user has deferred entry of required data but then requests
  6103. processing of entries, signal that omission to the user and allow
  6104. immediate entry of missing items or perhaps further deferral.
  6105.  
  6106. %p "Reference"
  6107. BB 5.2.4
  6108. MS 5.15.4.3.11 5.15.7.5.c
  6109. PR 4.8.7
  6110. %g "1.7/6      Timely Validation of Sequential Transactions" 0
  6111.  
  6112. %p
  6113. In a repetitive data entry task, validate the data for one transaction
  6114. and allow the user to correct errors before beginning another
  6115. transaction.
  6116.  
  6117. %p "Comment"
  6118. This is particularly important when the task requires transcription from
  6119. source documents, so that a user can detect and correct entry errors
  6120. while the relevant document is still at hand.
  6121.  
  6122. %p "See also"
  6123. 3.5/12 6.3/9
  6124. %g "1.7/7      Optional Item-by-Item Validation" 0
  6125.  
  6126. %p
  6127. For novice users, consider providing optional item-by-item data
  6128. validation within a multiple-entry transaction.
  6129.  
  6130. %p "Comment"
  6131. This capability, which might be termed an "interim ENTER", may sometimes
  6132. help a novice user who is uncertain about the requirements imposed on
  6133. each data item.  But item-by-item processing may slow skilled users.
  6134. Providing such a capability as an optional feature would help novices
  6135. without hindering more experienced users.
  6136.  
  6137. %p "Reference"
  6138. EG 6.3.9 7.1
  6139.  
  6140. %p "See also"
  6141. 4.3/10
  6142. %a "1.8    Other Data Processing"
  6143.  
  6144. %p
  6145. Other data processing aids may be provided to facilitate data entry.
  6146. %g "1.8/1      Default Values" 0
  6147.  
  6148. %p
  6149. When likely default values can be defined for the data entries in a
  6150. particular task, offer those default values to speed data entry.
  6151. %g "1.8/2      +  Defaults for Sequential Entries" 0
  6152.  
  6153. %p
  6154. If a series of default values have been defined for a data entry
  6155. sequence, allow a user to default all entries or to default until the
  6156. next required entry.
  6157.  
  6158. %p "Comment"
  6159. Where a set of default values has been defined, a user may not wish to
  6160. specify that each default value should be accepted for each data field
  6161. individually.  It might be quicker to accept the set of defaults by a
  6162. single action.
  6163. %g "1.8/3      +  User Definition of Default Values" 0
  6164.  
  6165. %p
  6166. When interface designers cannot predict what default values will be
  6167. helpful, permit users (or perhaps a system administrator) to define,
  6168. change or remove default values for any data entry field.
  6169.  
  6170. %p "Reference"
  6171. MS 5.15.6.8
  6172. %g "1.8/4      +  Display of Default Values" 0
  6173.  
  6174. %p
  6175. On initiation of a data entry transaction, display currently defined
  6176. default values in their appropriate data fields.
  6177.  
  6178. %p "Comment"
  6179. Do not expect users to remember them.
  6180.  
  6181. %p "Comment"
  6182. It may be helpful to mark default values in some way to distinguish them
  6183. from new data entries.
  6184.  
  6185. %p "Reference"
  6186. BB 2.1.10
  6187. MS 5.15.6.7
  6188.  
  6189. %p "See also"
  6190. 4.4/7 6.3/15
  6191. %g "1.8/5      +  Easy Confirmation to Enter Default Values" 0
  6192.  
  6193. %p
  6194. Provide users with some simple means to confirm acceptance of a
  6195. displayed default value for entry.
  6196.  
  6197. %p "Example"
  6198. Simply tabbing past the default field may suffice.
  6199.  
  6200. %p "Comment"
  6201. Employ similar techniques when a user must review the accuracy of
  6202. previously entered data.
  6203.  
  6204. %p "Reference"
  6205. MS 5.15.6.7 5.15.6.10
  6206.  
  6207. %p "See also"
  6208. 6.3/15
  6209. %g "1.8/6      +  Temporary Replacement of Default Values" 0
  6210.  
  6211. %p
  6212. Allow users to replace any data entry default value with a different
  6213. entry, without thereby changing the default definition for subsequent
  6214. transactions.
  6215.  
  6216. %p "Reference"
  6217. MS 5.15.6.9
  6218. %g "1.8/7      Automatic Generation of Routine Data" 0
  6219.  
  6220. %p
  6221. For routine data that can be derived from existing computer records,
  6222. program the computer to access and enter such data automatically.
  6223.  
  6224. %p "Example"
  6225. As a negative example, do not require a user to identify a work station
  6226. in order to initiate a transaction, nor to include other routine data
  6227. such as current date and transaction sequence codes.
  6228.  
  6229. %p "Exception"
  6230. Some data entry routines may be imposed in the interest of security, but
  6231. at the risk of hindering a user in achieving effective task performance.
  6232. Other means of ensuring data security should be considered.
  6233.  
  6234. %p "Reference"
  6235. BB 2.4.2
  6236. MS 5.15.2.1.6
  6237.  
  6238. %p "See also"
  6239. 6.1/1 6.3/14
  6240. %g "1.8/8      Automatic Computation of Derived Data" 0
  6241.  
  6242. %p
  6243. Provide automatic computation of derived data, so that a user does not
  6244. have to calculate and enter any number that can be derived from data
  6245. already accessible to the computer.
  6246.  
  6247. %p "Example"
  6248. Statistical descriptors such as sums, means, etc., can all be derived
  6249. automatically by appropriate software.
  6250.  
  6251. %p "Reference"
  6252. MS 5.15.2.1.6
  6253.  
  6254. %p "See also"
  6255. 6.3/14
  6256. %g "1.8/9      User Review of Prior Entries" 0
  6257.  
  6258. %p
  6259. When data entries made in one transaction are relevant to a subsequent
  6260. transaction, program the computer to retrieve and display them for user
  6261. review rather than requiring re-entry of those data.
  6262.  
  6263. %p "Reference"
  6264. BB 2.4.2
  6265.  
  6266. %p "See also"
  6267. 1.0/1 6.3/13
  6268. %g "1.8/10     Automatic Entry of Redundant Data" 0
  6269.  
  6270. %p
  6271. If data are accessible to the computer that are logically related to
  6272. other entries, program the computer to retrieve and enter those
  6273. redundant data items automatically.
  6274.  
  6275. %p "Example"
  6276. As a negative example, a user should not have to enter both an item name
  6277. and identification code when either one defines the other.
  6278.  
  6279. %p "Exception"
  6280. Redundant entry may be needed for resolving ambiguous entries, for user
  6281. training, or for security (e.g., user identification).
  6282.  
  6283. %p "Comment"
  6284. When verification of previously entered data is required, ask users to
  6285. review and confirm data items rather than re-enter them.
  6286.  
  6287. %p "Reference"
  6288. BB 2.4.2 4.3.6
  6289. EG 6.3.10
  6290. MS 5.15.2.1.6
  6291.  
  6292. %p "See also"
  6293. 6.3/14
  6294. %g "1.8/11     Automatic Cross-File Updating" 0
  6295.  
  6296. %p
  6297. Provide automatic cross-file updating whenever necessary, so that a user
  6298. does not have to enter the same data twice.
  6299.  
  6300. %p "Example"
  6301. If an aircraft has been assigned to a mission, the computer should
  6302. automatically update both aircraft status and mission assignment files
  6303. to indicate that commitment.
  6304.  
  6305. %p "Reference"
  6306. MS 5.15.2.1.6
  6307.  
  6308. %p "See also"
  6309. 1.0/1 6.3/14
  6310. %g "1.8/12     Aids for Entering Hierarchic Data" 0
  6311.  
  6312. %p
  6313. When data must be entered in an organized hierarchic structure, in
  6314. different sections and at different levels of increasing detail, provide
  6315. computer aids for that purpose.
  6316.  
  6317. %p "Comment"
  6318. At the least, the computer should provide the user a schematic summary
  6319. display of any defined data structure for general orientation, with its
  6320. branches and levels labeled for convenient reference.  When a user
  6321. specifies any portion of the structure for data entry or editing, the
  6322. computer should display that section of data appropriately labeled, and
  6323. perhaps show in the display margin a diagram indicating what portion of
  6324. the overall data structure is currently being displayed.
  6325.  
  6326. %p "Comment"
  6327. When data at one level in a hierarchy are dependent on data entries at
  6328. other (usually subordinate) levels, the computer should handle
  6329. cross-level bookkeeping automatically, just as for cross-file updating.
  6330.  
  6331. %p "Comment"
  6332. For entering hierarchic data, a user must specify where in the data
  6333. structure any new data should be added.  If the data structure is
  6334. complex, it may help if the computer automatically prompts the user to
  6335. make the appropriate data entries at different levels.
  6336.  
  6337. %p "Comment"
  6338. If a user may need to change the data structure, then computer aids may
  6339. be needed for that purpose as well as for data entry.  The computer
  6340. should bookkeep automatically any changing relations among the data in
  6341. different sections that might result from changes to the overall data
  6342. structure.
  6343.  
  6344. %p "See also"
  6345. 1.0/31 1.6/18 2.4.8/11
  6346. %a "1.9    Design Change"
  6347.  
  6348. %p
  6349. Design change of software supporting data entry functions may be needed
  6350. to meet changing operational requirements.
  6351. %g "1.9/1      Flexible Design for Data Entry" 0
  6352.  
  6353. %p
  6354. When data entry requirements may change, which is often the case,
  6355. provide some means for users (or a system administrator) to make
  6356. necessary changes to data entry functions.
  6357.  
  6358. %p "Comment"
  6359. Data entry functions that may need to be changed are those represented
  6360. in these guidelines, including changes to procedures, entry formats,
  6361. data validation logic, and other associated data processing.
  6362.  
  6363. %p "Comment"
  6364. Many of the preceding guidelines in this section imply a need for design
  6365. flexibility.  Much of that needed flexibility can be provided in initial
  6366. interface design.  Some guidelines, however, suggest a possible need for
  6367. subsequent design change, and those guidelines are cited below.
  6368.  
  6369. %p "See also"
  6370. 1.3/22 1.4/25 1.7/1 1.8/3 1.8/8 1.8/10 1.8/11
  6371. %s "2 DATA DISPLAY"
  6372.  
  6373. %p
  6374. Data display refers to computer output of data to a user, and
  6375. assimilation of information from such outputs.  Some kind of display
  6376. output is needed for all information handling tasks.  Data display is
  6377. particularly critical in monitoring and control tasks.  Data may be
  6378. output on electronic displays, or hardcopy printouts, or other auxiliary
  6379. displays and signaling devices including voice output, which may alert
  6380. users to unusual conditions.
  6381.  
  6382. %p
  6383. In this discussion, data are considered to be display elements related
  6384. to a user's information handling task.  Displayed data might consist of
  6385. stock market quotations, or the current position of monitored aircraft,
  6386. or a page of text, or a message from another user.  Displayed data might
  6387. provide guidance to a user in performing a maintenance task, or might
  6388. provide instruction to a user who is trying to learn mathematics or
  6389. history.
  6390.  
  6391. %p
  6392. There might be some display elements that themselves do not constitute
  6393. task-related data.  Those elements include labels, prompts,
  6394. computer-generated advisory messages and other guidance that helps a
  6395. user interact with a computer system.  Although such user guidance
  6396. display features are sometimes mentioned here in connection with data
  6397. display, they are discussed more extensively in Section 4 of these
  6398. guidelines.
  6399.  
  6400. %p
  6401. In general, somewhat less is known about data display, and information
  6402. assimilation by the user, than about data entry.  In current information
  6403. system design, display formatting is an art.  Guidelines are surely
  6404. needed.  But these guidelines may simply serve to help a designer become
  6405. more proficient in the art.
  6406.  
  6407. %p
  6408. It must be recognized that guidelines cannot tell a designer what the
  6409. specific contents of a display should be, but only how those contents
  6410. should be presented.  The specific data that must be displayed can only
  6411. be determined through a careful task analysis to define the user's
  6412. information requirements.
  6413.  
  6414. %p
  6415. For effective task performance, displayed data must be relevant to a
  6416. user's needs.  An early statement (Smith, 1963b, pages 296-297) of the
  6417. need for relevance in data display, although written before common
  6418. adoption of gender-free wording, otherwise seems valid still:
  6419.     
  6420.      When we examine the process of man-computer communication from the
  6421.      human point of view, it is useful to make explicit a distinction
  6422.      which might be described as contrasting "information" with "data."
  6423.      Used in this sense, information can be regarded as the answer to a
  6424.      question, whereas data are the raw materials from which information
  6425.      is extracted.  A man's questions may be vague, such as, "What's
  6426.      going on here?" or "What should I do now?" Or they may be much more
  6427.      specific.  But if the data presented to him are not relevant to
  6428.      some explicit or implicit question, they will be meaningless. . . .
  6429.     
  6430.      What the computer can actually provide the man are displays of
  6431.      data.  What information he is able to extract from those displays
  6432.      is indicated by his responses.  How effectively the data are
  6433.      processed, organized, and arranged prior to presentation will
  6434.      determine how effectively he can and will extract the information
  6435.      he requires from his display.  Too frequently these two terms data
  6436.      and information are confused, and the statement, "I need more
  6437.      information," is assumed to mean, "I want more symbols." The reason
  6438.      for the statement, usually, is that the required information is not
  6439.      being extracted from the data.  Unless the confusion between data
  6440.      and information is removed, attempts to increase information in a
  6441.      display are directed at obtaining more data, and the trouble is
  6442.      exaggerated rather than relieved.
  6443.  
  6444. %p
  6445. Certainly this distinction between data and information should be
  6446. familiar to psychologists, who must customarily distinguish between a
  6447. physical stimulus (e.g., "intensity" of a light) and its perceived
  6448. effect ("brightness").  The distinction is not familiar to system
  6449. designers, however, although the issue itself is often addressed.  In
  6450. the following description of what has been called the "information
  6451. explosion", notice how the terms data and information are used
  6452. interchangeably, confounding an otherwise incisive and lively analysis
  6453. by Martin (1973, page 6):
  6454.     
  6455.      The sum total of human knowledge changed very slowly prior to the
  6456.      relatively recent beginnings of scientific thought.  But it has
  6457.      been estimated that by 1800 it was doubling every 50 years; by
  6458.      1950, doubling every 10 years; and by 1970, doubling every 5 years.
  6459.      . . . This is a much greater growth rate than an exponential
  6460.      increase.  In many fields, even one as old as medicine, more
  6461.      reports have been written in the last 20 years than in all prior
  6462.      human history.  And now the use of the computer vastly multiplies
  6463.      the rate at which information can be generated.  The weight of the
  6464.      drawings of a jet plane is greater than the weight of the plane.
  6465.      The computer files of current IBM customer orders contain more than
  6466.      100 billion bits of information -- more than the information in a
  6467.      library of 50,000 books.
  6468.     
  6469.      For man, this is a hostile environment.  His mind could no more
  6470.      cope with this deluge of data, than his body could cope with outer
  6471.      space.  He needs protection.  The computer -- in part the cause of
  6472.      the problem -- is also the solution to the problem.  The computer
  6473.      will insulate man from the raging torrents of information that are
  6474.      descending upon him.
  6475.     
  6476.      The information of the computerized society will be gathered,
  6477.      indexed, and stored in vast data banks by the computers.  When man
  6478.      needs a small item of information he will request it from the
  6479.      computers.  The machines, to satisfy his need, will sometimes carry
  6480.      on a simple dialogue with him until he obtains the data he wants.
  6481.      With the early computers, a manager would often have dumped on his
  6482.      desk an indigestible printout -- sometimes several hundred pages
  6483.      long.  Now the manager is more likely to request information when
  6484.      he needs it, and receive data about a single item or situation on a
  6485.      screen or small printer.
  6486.  
  6487.      It is as though man were surviving in the depths of this sea of
  6488.      information in a bathyscaphe.  Life in the bathyscaphe is simple,
  6489.      protected as it is from the pressure of the vast quantities of
  6490.      data.  Every now and then man peers through the windows of the
  6491.      bathyscaphe to obtain facts that are necessary for some purpose or
  6492.      other.  The facts that he obtains at any one time are no more than
  6493.      his animal brain can handle.  The information windows must be
  6494.      designed so that man, with his limited capabilities, can locate the
  6495.      data he wants and obtain simple answers to questions that may need
  6496.      complex processing.
  6497.  
  6498. %p
  6499. Some experts understand this distinction clearly, such as Hannemyr and
  6500. Innocent (1985) who write about "transforming . . . data into
  6501. information".  But many system designers and users still fail to
  6502. recognize the difference.
  6503.  
  6504. %p
  6505. Once a designer has determined what data must be displayed, through
  6506. analysis of user information requirements, the next step is to decide
  6507. how those data might best be formatted.  Data might be displayed as
  6508. text, or in data forms, tables and/or various graphic formats.  Each of
  6509. those types of data display is considered separately in the guidelines
  6510. presented here.
  6511.  
  6512. %p
  6513. In some applications, the nature of the data will dictate the necessary
  6514. format, as in the graphic situation displays used for air traffic
  6515. control.  In some applications, equipment limitations may constrain
  6516. display formatting, as in systems without graphic capability.  In many
  6517. applications, however, a designer will have considerable latitude in
  6518. choosing how to display data.  Good judgment may be needed to decide
  6519. when pictures or diagrams should be displayed rather than narrative
  6520. text, or vice versa.
  6521.  
  6522. %p
  6523. In the subsections of guidelines dealing with text, or data forms, or
  6524. tables, or the various types of graphic displays, the initial guidelines
  6525. describe generally the circumstances in which that particular type of
  6526. data display may be appropriate.  The design decision will require
  6527. careful analysis of the users' information handling tasks to determine
  6528. just what circumstances will actually prevail.
  6529.  
  6530. %p
  6531. For data display, as in other areas of user interface design, some
  6532. general concepts deserve emphasis, including the importance of context,
  6533. consistency, and flexibility.  Somehow a means must be found to provide
  6534. and maintain context in data displays so that a user can find needed
  6535. information.  Task analysis may point the way here, indicating what data
  6536. are relevant to each step in task performance.  Design guidelines must
  6537. emphasize the value of displaying no more data than the user needs, and
  6538. the importance of maintaining consistent display formats so that the
  6539. user always knows where to look for different kinds of information, on
  6540. any one display and from one display to another.
  6541.  
  6542. %p
  6543. Detailed user information requirements will vary, however, and may not
  6544. be completely predictable in advance, even with careful task analysis.
  6545. Thus flexibility is needed so that a user can tailor data displays on
  6546. line to meet current needs.  Such flexibility is sometimes provided
  6547. through optional data category selection and display offset and
  6548. expansion features.  If options for tailoring display coverage are
  6549. provided, a user can adjust the assimilation of displayed data in a way
  6550. analogous to the self pacing of data entry.
  6551.  
  6552. %p
  6553. When a user must both enter and retrieve data, which is usually the
  6554. case, the formatting of data displays should be consistent with the
  6555. methods used for data entry.  As an example, if data entry is
  6556. accomplished via form filling, with specially formatted data fields,
  6557. subsequent retrieval of that data set should produce an output display
  6558. with the same format, especially if the user is expected to make changes
  6559. to the displayed data or additional entries.  Where compaction of data
  6560. output is required for greater efficiency, perhaps to review multiple
  6561. data sets in a single display frame, the displayed items should retain
  6562. at least the same ordering and labeling as when those fields were used
  6563. for data entry.
  6564.  
  6565. %p
  6566. Display design must also take into account the type of dialogue used for
  6567. sequence control, and with hardware capabilities.  Where user inputs are
  6568. made via menu selection, using a pointing device like a lightpen, then
  6569. display formats should give prominence (and adequate separation) to the
  6570. labeled, lightpennable options.  Location of multifunction keys at the
  6571. display margin, to be labeled on the adjacent portion of the display
  6572. itself, may provide flexibility for both data entry and sequence
  6573. control, but will necessarily constrain display formatting.
  6574.  
  6575. %p
  6576. These general concepts underlie many of the guidelines for data display
  6577. proposed in the following pages.  As for the other areas of user
  6578. interface design, an attempt has been made to write guidelines for data
  6579. display in functional terms, insofar as possible without reference to
  6580. specific display devices and questions of hardware implementation.  As a
  6581. practical matter, however, available display technology will inevitably
  6582. influence the wording of guidelines.
  6583.  
  6584. %p
  6585. A discerning reader will note that the guidelines presented here deal
  6586. almost exclusively with visual displays; there are only a few references
  6587. to other possible display modes.  Moreover, most of these guidelines
  6588. implicitly assume a fairly large visual display, with room to show
  6589. different kinds of data at one time -- in effect, a display with about
  6590. 24 lines of 80 characters, much like the devices we now use.
  6591. Consequently, many of these guidelines will not apply in applications
  6592. where displays are constrained to a smaller size, such as "briefcase"
  6593. terminals or handheld display devices.
  6594.  
  6595. %p
  6596. As display technology develops further, it seems inevitable that some of
  6597. the guidelines proposed here must be reconsidered, and other guidelines
  6598. added.  As an example, we may anticipate increased use of graphics in
  6599. future information display design, with moving (and talking) pictures
  6600. such as those we now enjoy in displays designed for entertainment.
  6601.  
  6602. %p
  6603. The guidelines proposed here are intended for display designers.  If we
  6604. regard displays as contrived arrangements of data, then the guidelines
  6605. refer to that contrivance.  What happens in applications where the
  6606. computer provides a flexible capability allowing users to contrive many
  6607. of their own displays?  If a user composes a poor page of text, with
  6608. long sentences, flawed grammar, inconsistent spacing, etc., can a
  6609. software designer be held responsible?  Presumably not, or at least not
  6610. today.
  6611.  
  6612. %p
  6613. One might imagine future systems, however, where some form of expertise
  6614. is stored in the computer, including expertise on user interface design.
  6615. In applications where users design their own displays, a computer might
  6616. someday suggest pertinent guidelines, or perhaps even enforce design
  6617. rules where warranted.  For example, if a user entered irregularly
  6618. spaced text, a smart computer might regularize the spacing in subsequent
  6619. output of that text.
  6620.  
  6621. %p
  6622. The guidelines presented here can themselves be regarded as a long
  6623. multipage data display.  Problems of display organization arise in
  6624. presenting the guidelines material, in terms of content, wording, and
  6625. format.  As in other sections, the topical organization of these
  6626. guidelines is based on function, dealing with different types of
  6627. displayed data and display manipulation.  As in other sections, the
  6628. guidelines here recommend specific ways to accomplish some very general
  6629. objectives.
  6630.  
  6631. %p Objectives
  6632. Consistency of data display
  6633. Efficient information assimilation by the user
  6634. Minimal memory load on user
  6635. Compatibility of data display with data entry
  6636. Flexibility for user control of data display
  6637. %a "2.0    General"
  6638.  
  6639. %p
  6640. Data display refers to computer output of data to a user, and
  6641. assimilation of information from such outputs.
  6642. %g "2.0/1      Necessary Data Displayed"
  6643.  
  6644. %p
  6645. Ensure that whatever data a user needs for any transaction will be
  6646. available for display.
  6647.  
  6648. %p "Example"
  6649. As a minor example, header information should be retained or generated
  6650. anew when a user is paging/scrolling data tables.
  6651.  
  6652. %p "Example"
  6653. As a negative example, even temporary loss of needed data, as might be
  6654. caused by display blanking during automatic data update, is not
  6655. acceptable in many design applications.
  6656.  
  6657. %p "Comment"
  6658. The designer of user interface software must employ some method of task
  6659. analysis (e.g., operational sequence diagrams) in order to determine a
  6660. user's detailed information requirements for any transaction.
  6661.  
  6662. %p "Comment"
  6663. If data requirements exceed a user's ability to assimilate information
  6664. from the display, break the task into smaller steps.  Prototype testing
  6665. may be required to determine optimum data displays for critical tasks.
  6666.  
  6667. %p "Comment"
  6668. A user should not have to remember data from one display to the next.
  6669.  
  6670. %p "Reference"
  6671. BB 4.3.6
  6672. EG 2.3.15
  6673. Stewart 1980
  6674. Tullis 1983
  6675.  
  6676. %p "See also"
  6677. 4.0/5
  6678. %g "2.0/2      +  Only Necessary Data Displayed"
  6679.  
  6680. %p
  6681. Tailor displayed data to user needs, providing only necessary and
  6682. immediately usable data for any transaction; do not overload displays
  6683. with extraneous data.
  6684.  
  6685. %p "Example"
  6686.  (Good) | CODE DATA TYPE      |
  6687.         | su =  Summary       |
  6688.         | d  =  Detailed list |
  6689.         | se =  Sequences     |
  6690.  
  6691.  (Bad)  | CODE DATA TYPE DATE IMPLEMENTED  |
  6692.         | su =  Summary         5-17-82    |
  6693.         | d  =  Detailed list   7-14-82    |
  6694.         | se =  Sequences       9-25-82    |
  6695.  
  6696. %p "Comment"
  6697. Display of extraneous data may confuse a user and hinder assimilation of
  6698. needed information.
  6699.  
  6700. %p "Comment"
  6701. When user information requirements cannot be exactly anticipated by the
  6702. designer, allow users to tailor displays on line by controlling data
  6703. selection (Section 2.7.1), data coverage within a display frame (Section
  6704. 2.7.2), suppression of displayed data (Section 2.7.4), and data window
  6705. overlay (Section 2.7.5).
  6706.  
  6707. %p "Reference"
  6708. BB 1.7 1.8.10
  6709. EG 3.1.4 3.3.1
  6710. MS 5.15.3.1.2 5.15.4.6.2
  6711. Stewart 1980
  6712. Tullis 1981
  6713.  
  6714. %p "See also"
  6715. 2.0/8 2.7/1 2.8/1 4.0/5
  6716. %g "2.0/3      Data Displayed in Usable Form"
  6717.  
  6718. %p
  6719. Display data to users in directly usable form; do not make users convert
  6720. displayed data.
  6721.  
  6722. %p "Example"
  6723. If altitude might be required in either meters or feet, then display
  6724. both values.
  6725.  
  6726. %p "Example"
  6727. This recommendation applies to error messages and other forms of user
  6728. guidance as well as to data displays.
  6729.  
  6730.   (Probably adequate)
  6731.  
  6732.      | Character in NAME entry cannot be recognized. |
  6733.  
  6734.   (Too cryptic)
  6735.  
  6736.      | Error 459 in column 64. |
  6737.  
  6738. %p "Comment"
  6739. Do not require a user to transpose, compute, interpolate, or translate
  6740. displayed data into other units, or refer to documentation to determine
  6741. the meaning of displayed data.
  6742.  
  6743. %p "Reference"
  6744. BB 3.3
  6745. EG 3.3.4
  6746. MS 5.15.3.1.3
  6747.  
  6748. %p "See also"
  6749. 4.4/1
  6750. %g "2.0/4      Data Display Consistent with User Conventions"
  6751.  
  6752. %p
  6753. Display data consistently with standards and conventions familiar to
  6754. users.
  6755.  
  6756. %p "Example"
  6757. As a negative example, if users work with metric units of measurement,
  6758. do not display data in English units.
  6759.  
  6760. %p "Example"
  6761. Computer time records that are not in directly usable format should be
  6762. converted for display, to a conventional 12-hour (AM/PM) clock or a
  6763. 24-hour clock, in local time or whatever other time standard is
  6764. appropriate to user needs.
  6765.  
  6766. %p "Example"
  6767. Calendar formats should follow user customs.
  6768.  
  6769.   (American calendar)             (European calendar)
  6770.  
  6771.    S   M   T   W   T   F   S       S   1   8  15  22  29
  6772.    1   2   3   4   5   6   7       M   2   9  16  23  30
  6773.    8   9  10  11  12  13  14       T   3  10  17  24  31
  6774.   15  16  17  18  19  20  21       W   4  11  18  25
  6775.   22  23  24  25  26  27  28       T   5  12  19  26
  6776.   29  30  31                       F   6  13  20  27
  6777.                                    S   7  14  21  28
  6778.  
  6779. %p "Reference"
  6780. BB 3.4
  6781. EG 2.2.4
  6782.  
  6783. %p "See also"
  6784. 4.0/16
  6785. %g "2.0/5      +  Establishing Display Standards"
  6786.  
  6787. %p
  6788. When no specific user conventions have been established, adopt some
  6789. consistent interface design standards for data display.
  6790. %g "2.0/6      Consistent Display Format"
  6791.  
  6792. %p
  6793. For any particular type of data display, maintain consistent format from
  6794. one display to another.
  6795.  
  6796. %p "Comment"
  6797. When an item is missing from a standard format, display that item as a
  6798. labeled blank rather than omitting it altogether.
  6799.  
  6800. %p "Reference"
  6801. BB 1.1.1
  6802. MS 5.15.3.2.1
  6803. Stewart 1980
  6804.  
  6805. %p "See also"
  6806. 4.0/6
  6807. %g "2.0/7      Display Consistent with Entry Requirements"
  6808.  
  6809. %p
  6810. Ensure that data display is consistent in word choice, format, and basic
  6811. style with requirements for data and control entry.
  6812.  
  6813. %p "Example"
  6814. When the computer displays a list of current files, the names in that
  6815. list should be in a format which would be recognized by the computer if
  6816. they were part of a control entry; thus a user could mimic the displayed
  6817. list if specifying a file for editing or mailing.
  6818.  
  6819. %p "Comment"
  6820. When composing data and control entries, users will tend to mimic the
  6821. vocabulary, formats, and word order used in computer displays, including
  6822. displayed data, labels, error messages, and other forms of user
  6823. guidance.  When entry formats are consistent with display formats, users
  6824. are more likely to compose an acceptable entry on their first try.
  6825.  
  6826. %p "Reference"
  6827. Good Whiteside Wixon Jones 1984
  6828. Mooers 1983
  6829. Zoltan-Ford 1984
  6830.  
  6831. %p "See also"
  6832. 3.0/13 4.0/18
  6833. %g "2.0/8      User Control of Data Display"
  6834.  
  6835. %p
  6836. Allow users to control the amount, format, and complexity of displayed
  6837. data as necessary to meet task requirements.
  6838.  
  6839. %p "Comment"
  6840. An experienced user may be able to deal with more complex displays than
  6841. a novice.  But a user experienced in one task may be a novice in
  6842. another.  Thus a range of display tailoring capabilities may be
  6843. desirable for any particular task.
  6844.  
  6845. %p "Comment"
  6846. Increasing the options for user control of data displays will complicate
  6847. what a new user must learn about a system, and so will involve a
  6848. trade-off against simplicity of user interface design.
  6849.  
  6850. %p "Reference"
  6851. EG 3.4.2
  6852.  
  6853. %p "See also"
  6854. 2.0/2 2.8/1 2.7
  6855. %g "2.0/9      +  User Changes to Displayed Data"
  6856.  
  6857. %p
  6858. Allow users to change displayed data or enter new data when that is
  6859. required by a task.
  6860.  
  6861. %p "Comment"
  6862. For some displays, of course, it is not desirable for users to change
  6863. data, such as in operations monitoring (process control) displays, or
  6864. displays permitting access to a protected data base.
  6865.  
  6866. %p "Comment"
  6867. Some consistent formatting cue, perhaps different cursor shape or
  6868. different initial cursor placement, should be provided to inform users
  6869. when displayed data can or cannot be changed.
  6870.  
  6871. %p "Reference"
  6872. PR 4.4
  6873.  
  6874. %p "See also"
  6875. 1.0/6 1.3/2 6.2/4
  6876. %g "2.0/10     +  Protection of Displayed Data"
  6877.  
  6878. %p
  6879. When protection of displayed data is essential, maintain computer
  6880. control over the display and do not permit a user to change controlled
  6881. items.
  6882.  
  6883. %p "Comment"
  6884. Never assume compliance with instructions by the user, who may attempt
  6885. unwanted changes by mistake, or for curiosity, or to subvert the system.
  6886.  
  6887. %p "Reference"
  6888. EG 3.4.8
  6889.  
  6890. %p "See also"
  6891. 1.1/23 1.4/7 6.2/3 6.3/2
  6892. %g "2.0/11     Context for Displayed Data"
  6893.  
  6894. %p
  6895. Ensure that each data display will provide needed context,
  6896. recapitulating prior data as necessary so that a user does not have to
  6897. rely on memory to interpret new data.
  6898.  
  6899. %p "Comment"
  6900. When user information requirements cannot be determined in advance, it
  6901. may be desirable to provide a separate display window as a "notepad" in
  6902. which a user can preserve needed items by marking those to be saved.
  6903.  
  6904. %p "Comment"
  6905. If data must be remembered from one display to another, display no more
  6906. than four to six items.
  6907.  
  6908. %p "Reference"
  6909. BB 4.3.6
  6910. EG 2.3.15
  6911. %g "2.0/12     Familiar Wording"
  6912.  
  6913. %p
  6914. The wording of displayed data and labels should incorporate familiar
  6915. terms and the task-oriented jargon of the users, and avoid the
  6916. unfamiliar jargon of designers and programmers.
  6917.  
  6918. %p "Comment"
  6919. When in doubt, pretest the meaning of words for prospective users to
  6920. ensure that there is no ambiguity.
  6921.  
  6922. %p "Reference"
  6923. BB 3.7.1 3.7.4
  6924. EG 3.4.5 4.2.13
  6925. PR 4.5.6
  6926.  
  6927. %p "See also"
  6928. 1.4/19 4.0/16 4.0/17 4.3/3
  6929. %g "2.0/13     +  Consistent Wording"
  6930.  
  6931. %p
  6932. For displayed data and labels, choose words carefully and then use them
  6933. consistently.
  6934.  
  6935. %p "Example"
  6936.  (Good) | Record A Change |
  6937.         | Record B Change |
  6938.         | Record C Change |
  6939.  
  6940.  (Bad)  | Update of Record A   |
  6941.         | Record B Maintenance |
  6942.         | Change in Record C   |
  6943.  
  6944. %p "Example"
  6945. As a negative example, the word "screen" should not be used to mean
  6946. "display frame" in one place, and "menu selection option" in another.
  6947.  
  6948. %p "Comment"
  6949. Consistent word usage is particularly important for technical terms.
  6950. Standard terminology should be defined and documented in a glossary for
  6951. reference by interface designers as well as by users.
  6952.  
  6953. %p "Reference"
  6954. BB 1.2.2 3.7.2
  6955. EG 3.4.5 4.2.13
  6956. Pakin Wray 1982
  6957. %g "2.0/14     +  Consistent Wording Across Displays"
  6958.  
  6959. %p
  6960. Ensure that wording is consistent from one display to another.
  6961.  
  6962. %p "Example"
  6963. The title of a display should be identical to the menu option used to
  6964. request that display.
  6965.  
  6966. %p "Reference"
  6967. BB 3.7.4
  6968. %g "2.0/15     +  Consistent Grammatical Structure"
  6969.  
  6970. %p
  6971. Use consistent grammatical structure for data and labels within and
  6972. across displays.
  6973.  
  6974. %p "Example"
  6975.  (Good) | Starting date:  |
  6976.         | Leaving date:   |
  6977.         | Home phone:     |
  6978.         | Work phone:     |
  6979.  
  6980.  (Bad)  | Starting date:         |
  6981.         | When did you quit:     |
  6982.         | Home phone:            |
  6983.         | Phone number at work:  |
  6984.  
  6985. %p "Comment"
  6986. Even minor inconsistencies can distract a user and delay comprehension
  6987. as the user wonders momentarily whether some apparent difference
  6988. represents a real difference.
  6989.  
  6990. %p "Reference"
  6991. Pakin Wray 1982
  6992.  
  6993. %p "See also"
  6994. 4.0/23
  6995. %g "2.0/16     Minimal Use of Abbreviation"
  6996.  
  6997. %p
  6998. Display complete words in preference to abbreviations.
  6999.  
  7000. %p "Exception"
  7001. Abbreviations may be displayed if they are significantly shorter, save
  7002. needed space, and will be understood by the prospective users.
  7003.  
  7004. %p "Exception"
  7005. When abbreviations are used for data entry, then corresponding use of
  7006. those abbreviations in data display may help a user learn them for data
  7007. entry.
  7008.  
  7009. %p "Reference"
  7010. BB 3.1 3.1.1 3.1.5
  7011. EG 4.1.3
  7012. MS 5.15.3.2.3
  7013. %g "2.0/17     +  Common Abbreviations"
  7014.  
  7015. %p
  7016. When abbreviations are used, choose those abbreviations that are
  7017. commonly recognized, and do not abbreviate words that produce uncommon
  7018. or ambiguous abbreviations.
  7019.  
  7020. %p "Example"
  7021. In a process control application where system components are commonly
  7022. abbreviated, messages to users could include those common abbreviations,
  7023. while displaying in full form those words that are not commonly
  7024. abbreviated, as
  7025.  
  7026.  (Acceptable) | CST pressure low |
  7027.  
  7028.        (Poor) | Condensate Storage Tank prssr lw |
  7029.  
  7030.  (Acceptable) | Restricted Acct |
  7031.  
  7032.        (Poor) | Rstr Account |
  7033.  
  7034. %p "Comment"
  7035. The point here is that when abbreviation is necessary due to space
  7036. constraints, often a designer can still choose which words will be
  7037. abbreviated.  The words chosen for abbreviation should be those that are
  7038. commonly known in their abbreviated form, and/or those words whose
  7039. abbreviations can be unambiguously interpreted.
  7040.  
  7041. %p "Reference"
  7042. BB 3.1.6
  7043. %g "2.0/18     +  Simple Abbreviation Rule"
  7044.  
  7045. %p
  7046. When defining abbreviations, follow some simple rule and ensure that
  7047. users understand that rule.
  7048.  
  7049. %p "Comment"
  7050. Abbreviation by truncation is the best choice, except when word endings
  7051. convey important information.  When a truncation rule is used,
  7052. abbreviations are easy for a designer to derive and easy for a user to
  7053. decode.
  7054.  
  7055. %p "Comment"
  7056. If an abbreviation deviates from the consistent rule, it may be helpful
  7057. to give it some special mark whenever it is displayed.
  7058.  
  7059. %p "Reference"
  7060. BB 3.1.2
  7061. MS 5.15.3.2.3
  7062. PR 4.5.6
  7063. Moses Ehrenreich 1981
  7064. Rogers Moeller 1984
  7065.  
  7066. %p "See also"
  7067. 1.0/17 1.0/18 1.0/19 1.0/20 1.0/21 1.0/22 1.0/23
  7068. %g "2.0/19     +  Distinctive Abbreviations"
  7069.  
  7070. %p
  7071. Ensure that abbreviations are distinctive, so that abbreviations for
  7072. different words are distinguishable.
  7073.  
  7074. %p "Reference"
  7075. BB 3.1
  7076. MS 5.15.3.2.3
  7077. Moses Ehrenreich 1981
  7078. %g "2.0/20     +  Minimal Punctuation of Abbreviations"
  7079.  
  7080. %p
  7081. Minimize punctuation of abbreviations and acronyms.
  7082.  
  7083. %p "Example"
  7084.  (Good) | USAF     |
  7085.  (Bad)  | U.S.A.F. |
  7086.  
  7087. %p "Exception"
  7088. Punctuation should be retained when needed for clarity, e.g., "4-in.
  7089. front dimension" rather than "4 in front dimension".
  7090.  
  7091. %p "Exception"
  7092. Punctuation of abbreviations might be justified when an abbreviation
  7093. represents more than one word, and more than the first letter of each
  7094. word is included in the abbreviation, e.g., "common services"
  7095. abbreviated as "COM.SER" rather than "COMSER".
  7096.  
  7097. %p "Reference"
  7098. BB 1.3.5
  7099. EG 2.2.14
  7100. MS 5.15.3.2.3
  7101. %g "2.0/21     +  Dictionary of Abbreviations"
  7102.  
  7103. %p
  7104. If abbreviations are used, provide a dictionary of abbreviations
  7105. available for on-line user reference.
  7106.  
  7107. %p "Reference"
  7108. BB 3.1.3
  7109. MS 5.15.3.2.3
  7110.  
  7111. %p "See also"
  7112. 4.4/20
  7113. %a "2.1    Text"
  7114.  
  7115. %p
  7116. Text displays provide output of stored textual data, along with messages
  7117. and other text intended for user guidance.
  7118.  
  7119. %p "Example Text Display"
  7120. These sample displays represent a broadcast message received by all
  7121. users logging onto an on-line office support system.  The wording of the
  7122. bad display is taken from an actual instance.  The good display
  7123. clarifies wording of the text and improves display formatting.
  7124.  
  7125. %p
  7126. The bad display is annotated to indicate violations of several of the
  7127. design guidelines proposed here for text display.  Although most of its
  7128. noted deficiencies are minor, in sum they create a display that is
  7129. potentially confusing to its users.
  7130.  
  7131. %p "Good Sample Text Display"
  7132. |----------------------------------------------------------|
  7133. |                SYSTEM BROADCAST MESSAGES                 |
  7134. |                                                          |
  7135. |                                          27 March 1984   |
  7136. |                                                          |
  7137. | Word Processing Users:                                   |
  7138. |                                                          |
  7139. |    Please do NOT print multiple copies of large          |
  7140. | documents (more than 100 printed pages) during normal    |
  7141. | working hours.  Large print requests will delay          |
  7142. | printing service for all users.                          |
  7143. |                                                          |
  7144. |    If you do need bulk printing, submit your request     |
  7145. | before leaving at 4:30 pm.  Your printouts will be       |
  7146. | ready by the next morning.                               |
  7147. |                                                          |
  7148. | Network Users:                                           |
  7149. |                                                          |
  7150. |    Please report any net-related problems to the         |
  7151. | User Support Center, x2222.                              |
  7152. |                                                          |
  7153. |                                                          |
  7154. |                                                          |
  7155. | * Press CONTINUE to display the Office Systems Menu.     |
  7156. | <                                                        |
  7157. |----------------------------------------------------------|
  7158.  
  7159. %p "Bad Sample Text Display"
  7160. |----------------------------------------------------------|
  7161. | -- System Broadcast Messages --                          |
  7162. |     SYSTEM #22 - WPS                    27 March 1984    |
  7163. |                                                          |
  7164. |                ****    NOTICE    ****                    |
  7165. |                                                          |
  7166. |         WPS USERS ARE REMINDED NOT TO PRINT  MULTIPLE    |
  7167. |     COPIES  OF  LARGE  SIZE  DOCUMENTS  (100 PAGES OR    |
  7168. |     MORE) TO THE 6670 PRINTER OR LINEPRINTER SINCE IT    |
  7169. |     CAUSES LONG DELAYS ON THOSE PRINTERS.                |
  7170. |         IF  YOU NEED MULTIPLE COPIES,  PLEASE  SUBMIT    |
  7171. |     YOUR REQUEST BEFORE  LEAVING AT  4:30 P.M.  THANK    |
  7172. |     YOU.                                                 |
  7173. |                        ******                            |
  7174. |                                                          |
  7175. |     NETWORK  USERS  --  Please  report  any   network    |
  7176. |     related  problems  to  the  User  Support Center,    |
  7177. |     X2222.                                               |
  7178. |                                                          |
  7179. |     Questions  or problems  should be referred to the    |
  7180. |     USC, X2222.                                          |
  7181. |                                                          |
  7182. |     Press  the RETURN key to enter the Office Systems    |
  7183. |     Menu                                                 |
  7184. | <                                                        |
  7185. |----------------------------------------------------------|
  7186.  
  7187. %p
  7188. This bad text display violates in some degree several design guidelines
  7189. in this section:
  7190.  
  7191.  2.1/1   Conventional text display
  7192.  2.1/3   Consistent text format
  7193.  2.1/6   Conventional use of mixed case
  7194.  2.1/7   Separation of paragraphs
  7195.  2.1/8   Consistent word spacing
  7196.  2.1/10  Conventional punctuation
  7197.  2.1/11  Clarity of wording
  7198.  2.1/13  Simple sentence structure
  7199. %g "2.1/1      Conventional Text Display"
  7200.  
  7201. %p
  7202. Ensure that computer-generated displays of textual data, messages, or
  7203. instructions, will generally follow design conventions for printed text.
  7204.  
  7205. %p "Example"
  7206. See sample displays in this section.
  7207.  
  7208. %p "Comment"
  7209. Adoption of familiar design conventions for text display will permit
  7210. users to rely on prior reading skills.
  7211. %g "2.1/2      Printing Lengthy Text Displays"
  7212.  
  7213. %p
  7214. When a user must read lengthy textual material, consider providing that
  7215. text in printed form rather than requiring the user to read it on-line.
  7216.  
  7217. %p "Comment"
  7218. Reading lengthy text on an electronic display may be 20-30 percent
  7219. slower than reading it from a printed copy.
  7220.  
  7221. %p "Comment"
  7222. There are many good reasons for displaying lengthy textual material on
  7223. line.  Lengthy text may be displayed for editing, mailing, or search
  7224. tasks.  Or a lengthy text might be updated frequently, and so on-line
  7225. display would be the best way to ensure that all users are reading the
  7226. most recent version.  The intent of this guideline is not to discourage
  7227. such on-line display of text when that is needed, but rather to
  7228. discourage on-line display when the text would be more useful in paper
  7229. form.  For instance, if HELP displays consist merely of screen after
  7230. screen of text which is not tailored to a user's current task, than that
  7231. text might be better displayed in a printed users' manual.
  7232.  
  7233. %p "Reference"
  7234. Gould Grischkowsky 1984
  7235. Muter Latremouille Treurniet Beam 1982
  7236. %g "2.1/3      Consistent Text Format"
  7237.  
  7238. %p
  7239. When textual material is formatted, as in structured messages, adopt a
  7240. consistent format from one display to another.
  7241.  
  7242. %p "Example"
  7243. See sample displays in this section.
  7244.  
  7245. %p "See also"
  7246. 2.0/6
  7247. %g "2.1/4      +  Adequate Display Capacity"
  7248.  
  7249. %p
  7250. When a user must read continuous text on line, display at least four
  7251. lines of text at one time.
  7252.  
  7253. %p "Comment"
  7254. Four lines of text is the minimum which should be displayed when the
  7255. reading material is simple in content.  If the content is more complex,
  7256. or if a reader will need to refer frequently to previous material, then
  7257. display more lines of text.
  7258.  
  7259. %p "Comment"
  7260. When space for text display is limited, display a few long lines of text
  7261. rather than many short lines of text.
  7262.  
  7263. %p "Reference"
  7264. Duchnicky Kolers 1983
  7265. %g "2.1/5      +  Text Displayed in Wide Columns"
  7266.  
  7267. %p
  7268. Display continuous text in wide columns, containing at least 50
  7269. characters per line.
  7270.  
  7271. %p "Comment"
  7272. Text displayed in wide columns will be read significantly faster than
  7273. text displayed in narrow columns.
  7274.  
  7275. %p "Comment"
  7276. When space for text display is limited, display a few long lines of text
  7277. rather than many short lines of text.
  7278.  
  7279. %p "Reference"
  7280. Duchnicky Kolers 1983
  7281.  
  7282. %p "See also"
  7283. 2.1/28
  7284. %g "2.1/6      +  Conventional Use of Mixed Case"
  7285.  
  7286. %p
  7287. Display continuous text conventionally in mixed upper and lower case.
  7288.  
  7289. %p "Example"
  7290. See sample displays in this section.
  7291.  
  7292. %p "Exception"
  7293. An item intended to attract the user's attention, such as a label or
  7294. title, might be displayed in upper case.
  7295.  
  7296. %p "Exception"
  7297. Upper case should be used when lower case letters will have decreased
  7298. legibility, e.g., on a display terminal that cannot show true descenders
  7299. for lower case letters.
  7300.  
  7301. %p "Comment"
  7302. Reading text is easier when capitalization is used conventionally to
  7303. start sentences and to indicate proper nouns and acronyms.
  7304.  
  7305. %p "Reference"
  7306. BB 1.6
  7307. EG 3.4.3
  7308. MS 5.15.3.7.5
  7309. Wright 1977
  7310. %g "2.1/7      +  Separation of Paragraphs"
  7311.  
  7312. %p
  7313. Ensure that displayed paragraphs of text are separated by at least one
  7314. blank line.
  7315.  
  7316. %p "Example"
  7317. See sample displays in this section.
  7318.  
  7319. %p "Reference"
  7320. EG 2.3.4
  7321. MS 5.15.3.7.3
  7322. %g "2.1/8      +  Consistent Word Spacing"
  7323.  
  7324. %p
  7325. Maintain consistent spacing between the words of displayed text, with
  7326. left justification of lines and ragged right margins if that is the
  7327. result.
  7328.  
  7329. %p "Example"
  7330. See sample displays in this section.
  7331.  
  7332. %p "Exception"
  7333. Right justification should be employed if it can be achieved by variable
  7334. spacing, maintaining constant proportional differences in spacing
  7335. between and within words, and consistent spacing between words in a
  7336. line.
  7337.  
  7338. %p "Comment"
  7339. Reading is easier with constant spacing, which outweighs the advantage
  7340. of an even right margin achieved at the cost of uneven spacing.  Uneven
  7341. spacing is a greater problem with narrow column formats than with wide
  7342. columns.  Uneven spacing handicaps poor readers more than good readers.
  7343.  
  7344. %p "Reference"
  7345. PR 4.5.1 4.10.5
  7346. Campbell Marchetti Mewhort 1981
  7347. Gregory Poulton 1970
  7348. Trollip Sales 1986
  7349.  
  7350. %p "See also"
  7351. 1.3/18
  7352. %g "2.1/9      +  Minimal Hyphenation"
  7353.  
  7354. %p
  7355. In display of textual material, keep words intact, with minimal breaking
  7356. by hyphenation between lines.
  7357.  
  7358. %p "Comment"
  7359. Text is more readable if each word is entirely on one line, even if that
  7360. makes the right margin more ragged.
  7361.  
  7362. %p "Reference"
  7363. BB 3.2
  7364. EG 2.2.10
  7365.  
  7366. %p "See also"
  7367. 1.3/19
  7368. %g "2.1/10     +  Conventional Punctuation"
  7369.  
  7370. %p
  7371. Use conventional punctuation in textual display; sentences should end
  7372. with a period or other special punctuation.
  7373.  
  7374. %p "Example"
  7375. See sample displays in this section.
  7376.  
  7377. %p "Reference"
  7378. BB 1.3.4
  7379. EG 2.2.13
  7380. %g "2.1/11     Clarity of Wording"
  7381.  
  7382. %p
  7383. In designing text displays, especially text composed for user guidance,
  7384. strive for simplicity and clarity of wording.
  7385.  
  7386. %p "Example"
  7387. See sample displays in this section.
  7388. %g "2.1/12     +  Sentences Begin with Main Topic"
  7389.  
  7390. %p
  7391. Put the main topic of each sentence near the beginning of the sentence.
  7392.  
  7393. %p "Reference"
  7394. BB 3.8.2
  7395. %g "2.1/13     +  Simple Sentence Structure"
  7396.  
  7397. %p
  7398. Use short simple sentences.
  7399.  
  7400. %p "Example"
  7401. See sample displays in this section.
  7402.  
  7403. %p "Comment"
  7404. Long sentences with multiple clauses may confuse the user.  Consider
  7405. breaking long sentences into two or more shorter statements.
  7406.  
  7407. %p "Reference"
  7408. BB 3.8 3.8.1
  7409. EG 2.2.12
  7410. Wright 1977
  7411. Wright Reid 1973
  7412.  
  7413. %p "See also"
  7414. 4.3/5
  7415. %g "2.1/14     +  Concise Wording"
  7416.  
  7417. %p
  7418. When speed of display output for textual material is slower than the
  7419. user's normal reading speed, make an extra effort to word the text
  7420. concisely.
  7421.  
  7422. %p "Comment"
  7423. Assume a normal average reading speed of 250 words per minute.
  7424.  
  7425. %p "Comment"
  7426. The goal here is to make wording concise but not cryptic.  Omitting
  7427. articles ("the", "a"), prepositions ("of", "by") and relative pronouns
  7428. ("that", "which", "who") may save some space, but may also reduce
  7429. comprehension.
  7430.  
  7431. %p "Reference"
  7432. EG 3.3.7
  7433.  
  7434. %p "See also"
  7435. 4.3/5
  7436. %g "2.1/15     +  Distinct Wording"
  7437.  
  7438. %p
  7439. Use distinct words rather than contractions or combined forms,
  7440. especially in phrases involving negation.
  7441.  
  7442. %p "Example"
  7443.  (Good) "will not", "not complete"
  7444.  
  7445.  (Bad)  "won't", "incomplete"
  7446.  
  7447. %p "Comment"
  7448. This practice will help users understand the sense of a message.
  7449.  
  7450. %p "Reference"
  7451. BB 3.1.4
  7452. EG 2.2.15
  7453. %g "2.1/16     +  Affirmative Sentences"
  7454.  
  7455. %p
  7456. Use affirmative statements rather than negative statements.
  7457.  
  7458. %p "Example"
  7459.  (Good) | Clear the screen before entering data.        |
  7460.  
  7461.  (Bad)  | Do not enter data before clearing the screen. |
  7462.  
  7463. %p "Comment"
  7464. Tell the user what to do rather than what to avoid.
  7465.  
  7466. %p "Reference"
  7467. BB 3.8.3
  7468. Wright 1977
  7469.  
  7470. %p "See also"
  7471. 4.0/20
  7472. %g "2.1/17     +  Active Voice"
  7473.  
  7474. %p
  7475. Compose sentences in the active rather than passive voice.
  7476.  
  7477. %p "Example"
  7478.  (Good) | Clear the screen by pressing RESET.      |
  7479.  
  7480.  (Bad)  | The screen is cleared by pressing RESET. |
  7481.  
  7482. %p "Comment"
  7483. Sentences in the active voice will generally be easier to understand.
  7484.  
  7485. %p "Reference"
  7486. BB 3.8.5
  7487. Wright 1977
  7488.  
  7489. %p "See also"
  7490. 4.0/21
  7491. %g "2.1/18     +  Temporal Sequence"
  7492.  
  7493. %p
  7494. When a sentence describes a sequence of events, phrase it with a
  7495. corresponding word order.
  7496.  
  7497. %p "Example"
  7498.  (Good) | Enter LOGON before running programs.  |
  7499.  
  7500.  (Bad)  | Before running programs enter LOGON.  |
  7501.  
  7502. %p "Comment"
  7503. Temporal order is clearer.  Reverse order may confuse a user.
  7504.  
  7505. %p "Reference"
  7506. BB 3.8.6
  7507. Wright 1977
  7508.  
  7509. %p "See also"
  7510. 4.0/22
  7511. %g "2.1/19     Lists for Related Items"
  7512.  
  7513. %p
  7514. For a series of related items (words, phrases, instructions, etc.),
  7515. display those items in a list rather than as continuous text.
  7516.  
  7517. %p "Comment"
  7518. A list format will facilitate rapid, accurate scanning.
  7519.  
  7520. %p "Reference"
  7521. BB 1.3.2
  7522. Wright 1977
  7523. %g "2.1/20     +  Single-Column List Format"
  7524.  
  7525. %p
  7526. Format lists so that each item starts on a new line; i.e., a list should
  7527. be displayed as a single column.
  7528.  
  7529. %p "Example"
  7530.  (Good) | Major USI functional areas include |
  7531.         |                                    |
  7532.         |   Data Entry                       |
  7533.         |   Data Display                     |
  7534.         |   Sequence Control                 |
  7535.         |   User Guidance                    |
  7536.         |   Data Transmission                |
  7537.         |   Data Protection                  |
  7538.  
  7539.  (Bad)  | Major USI functional areas include |
  7540.         |                                    |
  7541.         | Data Entry         Data Display    |
  7542.         | Sequence Control   User Guidance   |
  7543.         | Data Transmission  Data Protection |
  7544.  
  7545. %p "Exception"
  7546. Listing in multiple columns may be considered where shortage of display
  7547. space dictates a compact format.
  7548.  
  7549. %p "Exception"
  7550. Multiple columns of data should be used where that facilitates
  7551. comparison of corresponding data sets, as in tabular displays (Section
  7552. 2.3).
  7553.  
  7554. %p "Reference"
  7555. BB 1.9.2
  7556. EG 2.3.5
  7557. MS 5.15.3.5.6.1
  7558.  
  7559. %p "See also"
  7560. 3.1.3/3
  7561. %g "2.1/21     +  Marking Multiline Items in a List"
  7562.  
  7563. %p
  7564. When a single item in a list continues for more than one line, mark
  7565. items in some way so that the continuation of an item is obvious, i.e.,
  7566. so that a continued portion does not appear to be a separate item.
  7567.  
  7568. %p "Example"
  7569. Items might be separated by a blank space, or continuing lines within an
  7570. item might be indented, or each item might be numbered or marked by a
  7571. special symbol such as an arrow or bullet.
  7572.  
  7573. %p "Comment"
  7574. Some demarcation is particularly needed when a list is comprised of a
  7575. mixture of long and short items.
  7576. %g "2.1/22     +  Arabic Numerals for Numbered Items"
  7577.  
  7578. %p
  7579. When listed items will be numbered, use Arabic rather than Roman
  7580. numerals.
  7581.  
  7582. %p "Comment"
  7583. Arabic numbers are more familiar to most users, and therefore require
  7584. less interpretation than Roman numerals do.  The advantage of Arabic
  7585. numbers becomes greater when large numbers are used.  For instance,
  7586. contrast XXVIII with 28.
  7587.  
  7588. %p "Reference"
  7589. Wright 1977
  7590. %g "2.1/23     +  Logical List Ordering"
  7591.  
  7592. %p
  7593. Adopt some logical principle by which to order lists; where no other
  7594. principle applies, order lists alphabetically.
  7595.  
  7596. %p "Comment"
  7597. It is the user's logic which should prevail rather than the designer's
  7598. logic, where those are different.
  7599.  
  7600. %p "Reference"
  7601. EG 2.3.1
  7602. MS 5.15.3.5.6
  7603.  
  7604. %p "See also"
  7605. 2.3/2 2.5/14 2.5/15 2.5/16 2.5/17 2.5/18
  7606. %g "2.1/24     +  Vertical Ordering in Multiple Columns"
  7607.  
  7608. %p
  7609. If a list is displayed in multiple columns, order the items vertically
  7610. within each column.
  7611.  
  7612. %p "Example"
  7613.  (Good)   | S.R. Abbott      B.M. Drake       |
  7614.           | C.N. Abernethy   S.M. Dray        |
  7615.           | C.A. Adams       M.G. Dumoff      |
  7616.           | H.L. Ammerman    R.C. Eakins      |
  7617.           | C.J. Arbak       S.L. Ehrenreich  |
  7618.           | etc.                              |
  7619.  
  7620.  (Bad)    | S.R. Abbott      C.N. Abernethy   |
  7621.           | C.A. Adams       H.L. Ammerman    |
  7622.           | C.J. Arbak       A.J. Aretz       |
  7623.           | A.F. Aucella     J.A. Ballas      |
  7624.           | M.C. Bardales    S.H. Barry       |
  7625.           | etc.                              |
  7626. %g "2.1/25     +  Hierarchic Structure for Long Lists"
  7627.  
  7628. %p
  7629. For a long list, extending more than one displayed page, consider
  7630. adopting a hierarchic structure to permit its logical partitioning into
  7631. related shorter lists.
  7632. %g "2.1/26     Abbreviations Defined in Text"
  7633.  
  7634. %p
  7635. When words in text displays are abbreviated, define each abbreviation in
  7636. parentheses following its first appearance.
  7637.  
  7638. %p "Comment"
  7639. This practice will help only those users who read displayed text from
  7640. front to back and remember what they have read.  For forgetful users,
  7641. and for users who sample later sections of a multipage text display,
  7642. abbreviations may still seem undefined.  For such users, it might be
  7643. helpful to provide an on-line dictionary of abbreviations for convenient
  7644. reference.
  7645.  
  7646. %p "Reference"
  7647. BB 3.1.8
  7648.  
  7649. %p "See also"
  7650. 4.4/20
  7651. %g "2.1/27     Highlighting Text"
  7652.  
  7653. %p
  7654. When a critical passage merits emphasis to set it apart from other text,
  7655. highlight that passage by bolding/brightening or color coding or by some
  7656. auxiliary annotation, rather than by capitalization.
  7657.  
  7658. %p "Comment"
  7659. A single word might be capitalized for emphasis, but capitalizing an
  7660. extended passage will reduce its readability.
  7661.  
  7662. %p "See also"
  7663. 2.1/6
  7664. %g "2.1/28     Combining Text with Other Data"
  7665.  
  7666. %p
  7667. When text is combined with graphics or other data in a single display,
  7668. thus limiting the space available for text, format the text in a few
  7669. wide lines rather than in narrow columns of many short lines.
  7670.  
  7671. %p "Example"
  7672.   (Good)  | Text is easier to read when displayed in wide |
  7673.           | lines than when displayed in thin columns.    |
  7674.  
  7675.   (Bad)   | Text is harder |
  7676.           | to read when   |
  7677.           | displayed in   |
  7678.           | thin columns   |
  7679.           | than when      |
  7680.           | displayed in   |
  7681.           | wide lines.    |
  7682.  
  7683. %p "Exception"
  7684. Listed items might be displayed in a narrow column format.
  7685.  
  7686. %p "Reference"
  7687. Duchnicky Kolers 1983
  7688.  
  7689. %p "See also"
  7690. 2.1/5
  7691. %g "2.1/29     +  Placing Figures Near Their Citations"
  7692.  
  7693. %p
  7694. When tables and/or graphics are combined with text, place each figure
  7695. near its first citation in the text, preferably in the same display
  7696. frame.
  7697.  
  7698. %p "Exception"
  7699. If a figure is cited at several points in the text, then it might be
  7700. desirable to allow optional display of the figure at user request,
  7701. perhaps as a temporary window overlay at each point of citation.
  7702.  
  7703. %p "Exception"
  7704. If a figure is cited at several points in printed text, and particularly
  7705. if that text may be accessed at different places by its readers (as in
  7706. the case of printed reference material), then it might be desirable to
  7707. group figures consistently at a particular location, such as at the end
  7708. of each section.
  7709.  
  7710. %p "Comment"
  7711. Readers may not bother to find and look at a figure is it is displayed
  7712. separately from its citation in the text.
  7713.  
  7714. %p "Reference"
  7715. Whalley Fleming 1975
  7716. %a "2.2    Data Forms"
  7717.  
  7718. %p
  7719. Data forms can display sets of related data items in labeled fields
  7720. formatted to aid data entry and review.
  7721.  
  7722. %p "Example Data Form Displays"
  7723. These sample displays represent a possible form for review (and possible
  7724. revision) of visa application data.  In the good display, data entries
  7725. are bolded to help distinguish them from labels and field delimiters.
  7726. Fields are ordered consistently in relation to a (supposed) paper
  7727. application form, and formatted to facilitate data review.
  7728.  
  7729. %p
  7730. The bad display is annotated to indicate violations of several of the
  7731. design guidelines proposed here for data form displays.  The data
  7732. entries in the bad display were invented to suggest what a user might
  7733. have entered, if confused by inadequate labeling and the absence of
  7734. field delimiters.
  7735.  
  7736. %p "Good Sample Data Form Display"
  7737. |----------------------------------------------------------|
  7738. |                  VISA APPLICATION                        |
  7739. |                                                          |
  7740. | NAME: Jones, Andrew David                 VISA: 356 478  |
  7741. |       LAST, FIRST MIDDLE                                 |
  7742. |                                                          |
  7743. | BIRTH COUNTRY: UK    DATE:  3/22/25                      |
  7744. |                             M  D  Y                      |
  7745. |                                                          |
  7746. |   NATIONALITY: UK    PASSPORT: Z196284                   |
  7747. |                                                          |
  7748. |       ADDRESS: 5 Fairview Lane                           |
  7749. |                Loughborough, LE11 3RG                    |
  7750. |                England                                   |
  7751. |                                                          |
  7752. | OTHER TRAVELERS ON THIS VISA                             |
  7753. |                                    BIRTH                 |
  7754. | NAME:                              COUNTRY:  DATE:       |
  7755. | Jones, Sandra Jean                 UK        10/11/28    |
  7756. | Jones, Cynthia Leigh               FR         6/12/68    |
  7757. | __________________________         __        __/__/__    |
  7758. | __________________________         __        __/__/__    |
  7759. | LAST, FIRST MIDDLE                           M  D  Y     |
  7760. |                                                          |
  7761. | * Review and ENTER changes if needed.                    |
  7762. |----------------------------------------------------------|
  7763.  
  7764. %p "Bad Sample Data Form Display"
  7765. |----------------------------------------------------------|
  7766. | Name Andrew D. Jones                 Visa Number 356478  |
  7767. |                                                          |
  7768. | Birthplace London                   Nationality English  |
  7769. |                                                          |
  7770. | Passport Z196284                     Birthdate Mar. 22,  |
  7771. |                                                          |
  7772. | Address  1925                                            |
  7773. |         5 Fairview Lane, Loughborough, L                 |
  7774. |         E11 3RG, England                                 |
  7775. |                                                          |
  7776. | Other travelers on this visa                             |
  7777. | Traveler's Name                   Date of Birth - Place  |
  7778. | Sandra J. Jones                        Oct. 11, - 1928   |
  7779. | Birmingham                                               |
  7780. | Cynthia L. Jones                       June 12, - 1968   |
  7781. | Paris, France                                            |
  7782. |                                                          |
  7783. |                                                          |
  7784. |                                                          |
  7785. |                                                          |
  7786. |                                                          |
  7787. |                                                          |
  7788. |                                                          |
  7789. | Review and ENTER changes if needed                       |
  7790. |----------------------------------------------------------|
  7791.  
  7792. %p
  7793. This bad data form display violates in some degree several design
  7794. guidelines in this section:
  7795.  
  7796.  2.2/2   Visually distinctive data fields
  7797.  2.2/4   Descriptive wording of labels
  7798.  2.2/5   Consistent wording of labels
  7799.  2.2/8   Distinctive label format
  7800.  2.2/14  Partitioning long data items
  7801.  2.2/15  Distinguishing blanks from nulls
  7802.  
  7803.     This bad data form also violates various design guidelines
  7804.     pertaining to data entry, as noted at the end of Section 1.4.
  7805. %g "2.2/1      Forms for Related Data"
  7806.  
  7807. %p
  7808. Use forms to display related sets of data items in separately labeled
  7809. fields.
  7810.  
  7811. %p "Comment"
  7812. Forms can aid review of related data items by displaying explanatory
  7813. labels to caption each data field.
  7814. %g "2.2/2      Visually Distinctive Data Fields"
  7815.  
  7816. %p
  7817. Provide clear visual definition of data fields, so that the data are
  7818. distinct from labels and other display features.
  7819.  
  7820. %p "Example"
  7821. See sample displays in this section.
  7822.  
  7823. %p "Reference"
  7824. MS 5.15.4.3.4
  7825.  
  7826. %p "See also"
  7827. 1.0/6 1.4/10
  7828. %g "2.2/3      +  Data Field Labeling"
  7829.  
  7830. %p
  7831. Identify each data field with a displayed label.
  7832.  
  7833. %p "Comment"
  7834. Do not assume that the user can identify individual data fields because
  7835. of past familiarity.  Context may play a significant role: 617-271-7768
  7836. might be recognized as a telephone number if seen in a telephone
  7837. directory, but might not be recognized as such in an unlabeled display.
  7838.  
  7839. %p "Reference"
  7840. BB 1.8.7
  7841. EG 2.2.16
  7842. MS 5.15.3.1.9
  7843.  
  7844. %p "See also"
  7845. 1.4/5 1.4/6 1.4/7 1.4/8 4.0/11
  7846. %g "2.2/4      +  Descriptive Wording of Labels"
  7847.  
  7848. %p
  7849. Choose a word or phrase to label each field that will describe the data
  7850. content of that field.
  7851.  
  7852. %p "Example"
  7853. See sample displays in this section.
  7854.  
  7855. %p "Comment"
  7856. Labels should be worded carefully so that they assist users in scanning
  7857. the display and assimilating information quickly.
  7858.  
  7859. %p "Reference"
  7860. BB 3.5
  7861. EG 3.2
  7862. MS 5.15.3.1.10
  7863. %g "2.2/5      +  Consistent Wording of Labels"
  7864.  
  7865. %p
  7866. Ensure that labels are worded consistently, so that the same data item
  7867. is given the same label if it appears in different displayed forms.
  7868.  
  7869. %p "Example"
  7870. See sample displays in this section.
  7871.  
  7872. %p "Comment"
  7873. It may also help to employ consistent grammatical format for different
  7874. labels; i.e., do not use single words or phrases for some labels and
  7875. short sentences for others, or use verbs for some and nouns for others.
  7876.  
  7877. %p "Reference"
  7878. BB 3.8.4
  7879. MS 5.15.3.1.6
  7880.  
  7881. %p "See also"
  7882. 4.0/23
  7883. %g "2.2/6      +  Distinctive Wording of Labels"
  7884.  
  7885. %p
  7886. Ensure that field labels are worded distinctively from one another.
  7887.  
  7888. %p "Reference"
  7889. BB 3.5
  7890. EG 3.2.3
  7891. %g "2.2/7      +  Consistent Label Location"
  7892.  
  7893. %p
  7894. Place each label in a consistent location above or to the left of its
  7895. associated data field(s).
  7896.  
  7897. %p "Example"
  7898. In a numbered list, vertically formatted, the numeric labels should be
  7899. aligned so that the data items start in a fixed column position on the
  7900. display.
  7901.  
  7902. %p "Comment"
  7903. Consistent alignment of labels and data will aid display scanning by a
  7904. user.
  7905.  
  7906. %p "Reference"
  7907. EG 2.3.9
  7908. MS 5.15.3.1.10.a
  7909.  
  7910. %p "See also"
  7911. 2.3
  7912. %g "2.2/8      +  Distinctive Label Format"
  7913.  
  7914. %p
  7915. Ensure that labels are distinctive in format/positioning to help users
  7916. distinguish them from data and other display features.
  7917.  
  7918. %p "Example"
  7919. Labels might be capitalized when data are displayed in mixed case, or
  7920. might be dim when data are bright, or might perhaps be displayed in a
  7921. different font where that capability exists.
  7922.  
  7923. %p "Example"
  7924. See sample displays in this section.
  7925.  
  7926. %p "Reference"
  7927. EG 3.2.3
  7928. MS 5.15.3.1.10.c 5.15.4.3.5
  7929.  
  7930. %p "See also"
  7931. 4.0/8
  7932. %g "2.2/9      +  Labels Close to Data Fields"
  7933.  
  7934. %p
  7935. Ensure that each label is sufficiently close to be associated with its
  7936. data field, but is separated from its data field by at least one space.
  7937.  
  7938. %p "Reference"
  7939. BB 1.9.5
  7940. EG 2.3.8
  7941.  
  7942. %p "See also"
  7943. 1.4/8
  7944. %g "2.2/10     +  Labeling Units of Measurement"
  7945.  
  7946. %p
  7947. Include the units of measurement for displayed data either in the label
  7948. or as part of each data item.
  7949.  
  7950. %p "Example"
  7951. | DISTANCE (KM): __ __ __ |
  7952.           or
  7953. | DISTANCE: __ __ __ KM |
  7954.  
  7955. %p "Reference"
  7956. BB 1.8.8
  7957. MS 5.15.4.3.10
  7958.  
  7959. %p "See also"
  7960. 1.4/21
  7961. %g "2.2/11     Consistent Format Across Displays"
  7962.  
  7963. %p
  7964. Ensure that the ordering and layout of corresponding data fields is
  7965. consistent from one display to another.
  7966.  
  7967. %p "Reference"
  7968. BB 1.8.4 2.8.3
  7969. MS 5.15.3.1.6
  7970.  
  7971. %p "See also"
  7972. 2.3/12
  7973. %g "2.2/12     +  Form Compatible for Data Entry and Display"
  7974.  
  7975. %p
  7976. When forms are used for data entry as well as for data display, ensure
  7977. that the format for data display is compatible with whatever format is
  7978. used for data entry; use the same item labels and ordering for both.
  7979.  
  7980. %p "See also"
  7981. 1.4/24
  7982. %g "2.2/13     Consistent Format Within Data Fields"
  7983.  
  7984. %p
  7985. Ensure that the internal format of frequently used data fields is
  7986. consistent from one display to another.
  7987.  
  7988. %p "Example"
  7989. Telephone numbers should be consistently punctuated, perhaps as
  7990. 213-394-1811.
  7991.  
  7992. %p "Example"
  7993. Time records might be consistently punctuated with colons, as HH:MM:SS
  7994. or HH:MM or MM:SS.S, whatever is appropriate.
  7995.  
  7996. %p "Example"
  7997. Date records might be consistently formatted with slashes, as MM/DD/YY.
  7998.  
  7999. %p "Comment"
  8000. The convention chosen should be familiar to the prospective users.  For
  8001. European users, the customary format for telephone numbers and dates is
  8002. different than suggested in the examples above.  For military users,
  8003. date-time data are frequently combined in an accepted special format.
  8004. For many user groups, time records are kept on a 24-hour clock, which
  8005. should be acknowledged in display formatting.
  8006.  
  8007. %p "Reference"
  8008. EG 2.2.17
  8009. %g "2.2/14     Partitioning Long Data Items"
  8010.  
  8011. %p
  8012. Divide long data items of mixed alphanumeric characters into subgroups
  8013. of three or four characters separated by a blank or by some special
  8014. symbol.
  8015.  
  8016. %p "Example"
  8017. See sample displays in this section.
  8018.  
  8019. %p "Exception"
  8020. Words should be displayed intact, whatever their length.
  8021.  
  8022. %p "Comment"
  8023. Hyphens may be used instead of blanks where that is customary.  Slashes
  8024. are less preferred for separating groups, since they are more easily
  8025. confused with alphanumerics.
  8026.  
  8027. %p "Comment"
  8028. Where a common usage has been established, as in the NNN-NN-NNNN of US
  8029. social security numbers, grouping should follow that usage.
  8030.  
  8031. %p "Reference"
  8032. EG 2.2.2
  8033. MS 5.15.3.1.7 5.15.3.5.8
  8034.  
  8035. %p "See also"
  8036. 1.0/16
  8037. %g "2.2/15     Distinguishing Blanks from Nulls"
  8038.  
  8039. %p
  8040. Distinguish blanks (keyed spaces) from nulls (no entry at all) in the
  8041. display of data forms, where that can aid task performance.
  8042.  
  8043. %p "Example"
  8044. See sample displays in this section.
  8045.  
  8046. %p "Comment"
  8047. Some special symbol might be adopted to denote null entry.  If field
  8048. delimiters are displayed to guide data entry, then it will often be
  8049. sufficient simply to leave those delimiters unchanged when no entry has
  8050. been made.
  8051.  
  8052. %p "See also"
  8053. 1.4/10
  8054. %a "2.3    Tables"
  8055.  
  8056. %p
  8057. Tables can display data in row-column format to aid detailed comparison
  8058. of ordered sets of items.
  8059.  
  8060. %p "Example Tabular Displays"
  8061. These sample displays represent a table for finding the owner of a car
  8062. with a particular license plate.  (Perhaps it is an employee who has
  8063. parked in the wrong place, or who has left headlights burning.) In the
  8064. good display, data entries are ordered by license number to aid the
  8065. search.
  8066.  
  8067. %p
  8068. The bad display is ordered alphabetically by employees' last name, which
  8069. will not prove helpful for this task.  The bad display is annotated to
  8070. indicate several other violations of the design guidelines proposed here
  8071. for tabular displays.
  8072.  
  8073. %p "Good Sample Tabular Display"
  8074. |----------------------------------------------------------|
  8075. |                  AUTOMOBILE OWNERS        Page 1 of 4    |
  8076. |                                                          |
  8077. | LICENSE       EMPLOYEE               EXT        DEPT     |
  8078. |                                                          |
  8079. | MA 127 355    Michaels, Allison      7715        91      |
  8080. | MA 135 449    Duvet, William         3898        81      |
  8081. | MA 227 379    Smithson, Jill         2491        63      |
  8082. | MA 227 GBH    Zadrowski, Susan       2687        53      |
  8083. | MA 253 198    Jenskin, Erik          3687        31      |
  8084. |                                                          |
  8085. | MA 286 PAM    Hilsmith, Joseph       2443       100      |
  8086. | MA 291 302    Leonard, John          7410        92      |
  8087. | MA 297 210    Toth, Kelley           7538        45      |
  8088. | MA 328 647    Cooksey, Roger         2144        64      |
  8089. | MA 342 NCG    Hesen, Christopher     7544        21      |
  8090. |                                                          |
  8091. | MA 367 923    Maddox, Patrick        7070        66      |
  8092. | MA 375 NRC    Ashley, Maria          3397        34      |
  8093. | MA 376 386    Wheetley, Katherine    2638        58      |
  8094. | MA 385 248    Malone, Frank          2144        64      |
  8095. | MA 391 293    Lowman, Edward         8263        77      |
  8096. |                                                          |
  8097. | n = Next page                                            |
  8098. | <                                                        |
  8099. |----------------------------------------------------------|
  8100.  
  8101. %p
  8102. This bad tabular display violates in some degree several design
  8103. guidelines in this section:
  8104.  
  8105.  2.3/2   Logical organization
  8106.  2.3/4   Tables referenced by first column
  8107.  2.3/6   Row and column labels
  8108.  2.3/12  Consistent column spacing
  8109.  2.3/13  Column scanning cues
  8110.  2.3/14  Row scanning cues
  8111.  2.3/16  Justification of numeric data
  8112.  
  8113. Various other guidelines are also violated in this bad table, including
  8114. those pertaining to identification of multipage displays and display of
  8115. control options.
  8116.  
  8117. %p "Bad Sample Tabular Display"
  8118. |----------------------------------------------------------|
  8119. | Automobile Owners                                        |
  8120. | Sara Alwine                    2438  MA 929 448  103     |
  8121. | Christopher Aranyi             2716  MA 797 AND  97      |
  8122. | Maria Ashley                   3397  MA 375 NRC  34      |
  8123. | Arlene Atchison                7672  NH 60731    28      |
  8124. | Steven Bahr                    3272  MA 635 203  35      |
  8125. | David Baldwin                  3295  NH 63577    75      |
  8126. | David Benkley                  3581  MA 589 ADE  58      |
  8127. | Marlin Boudreau                3413  MA 816 HER  93      |
  8128. | Roger Cooksey                  2144  MA 328 647  64      |
  8129. | Joseph Curran                  3167  RI 4693     83      |
  8130. | Kent Delacy                    3619  MA 749 827  29      |
  8131. | Susan Doucette                 2797  MA 525 115  41      |
  8132. | Joseph Drury                   7604  NH 42265    27      |
  8133. | William Duvet                  3898  MA 135 449  81      |
  8134. | Samuel Everett                 3619  MA 635 ASK  29      |
  8135. | Jeanne Fiske                   7642  MA 614 CSU  10      |
  8136. | Nancy Graham                   2358  MA 745 CKJ  10      |
  8137. | Paul Greenbaum                 3979  MA 846 BLN  103     |
  8138. | Christopher Hesen              7544  MA 342 NCG  21      |
  8139. | Joseph Hilsmith                2443  MA 286 PAM  100     |
  8140. |                                                          |
  8141. |                                                          |
  8142. | <                                                        |
  8143. |----------------------------------------------------------|
  8144. %g "2.3/1      Tables for Data Comparison"
  8145.  
  8146. %p
  8147. When information handling requires detailed comparison of ordered sets
  8148. of data, adopt a tabular format for data display.
  8149. %g "2.3/2      Logical Organization"
  8150.  
  8151. %p
  8152. Organize tabular data in some recognizable order to facilitate scanning
  8153. and assimilation.
  8154.  
  8155. %p "Example"
  8156. Dates might be ordered chronologically, names alphabetically.
  8157.  
  8158. %p "Example"
  8159. See sample displays in this section.
  8160.  
  8161. %p "Reference"
  8162. BB 1.8.1
  8163. EG 2.2.3 2.3.1
  8164. MS 5.15.3.1.4
  8165.  
  8166. %p "See also"
  8167. 2.1/23 3.1.3/21
  8168. %g "2.3/3      Table Access by Row and Column"
  8169.  
  8170. %p
  8171. Construct a table so that row and column labels represent the
  8172. information a user has prior to consulting the table, i.e., the
  8173. information that can be used to access table entries for a particular
  8174. task.
  8175.  
  8176. %p "Example"
  8177. If a user's task were to determine characteristics of various raw
  8178. materials, then a table might be organized as
  8179.  
  8180. | Raw       Transport  Processing  Consumer   |
  8181. | Material  Costs      Time        Acceptance |
  8182. | A         High       Slow        Good       |
  8183. | B         High       Fast        Good       |
  8184. | C         Low        Slow        Good       |
  8185. | D         High       Slow        Poor       |
  8186. | E         High       Fast        Poor       |
  8187. | F         Low        Fast        Poor       |
  8188.  
  8189. whereas if the user's task were to identify what raw material meets
  8190. certain criteria, then the table might be organized as
  8191.  
  8192. |                                Consumer     |
  8193. |                                Acceptance   |
  8194. |                                Good   Poor  |
  8195. |                                             |
  8196. | High        Fast Processing    B      E     |
  8197. | Transport                                   |
  8198. | Costs       Slow Processing    A      D     |
  8199. |                                             |
  8200. | Low         Fast Processing           F     |
  8201. | Transport                                   |
  8202. | Costs       Slow Processing    C            |
  8203.  
  8204. %p Reference
  8205. Wright 1977
  8206. %g "2.3/4      +  Tables Referenced by First Column"
  8207.  
  8208. %p
  8209. When tables are used for reference, display the reference items, i.e.,
  8210. those by which the table will be accessed, in the left column; display
  8211. the material most relevant for user response in the next adjacent
  8212. column; and display associated but less significant material in columns
  8213. further to the right.
  8214.  
  8215. %p "Example"
  8216. See sample displays in this section.
  8217.  
  8218. %p "Comment"
  8219. As a corollary, when a list of people is ordered alphabetically by their
  8220. last name, then their last names should be displayed first, i.e., as the
  8221. leftmost element in each row.
  8222.  
  8223. %p "Reference"
  8224. Hamill 1980
  8225. Wright 1977
  8226. %g "2.3/5      +  Items Paired for Direct Comparison"
  8227.  
  8228. %p
  8229. If data items must be compared on a character-by-character basis,
  8230. display one directly above the other.
  8231.  
  8232. %p "Comment"
  8233. But remember that users will not be entirely accurate in making such
  8234. comparisons; automated comparison by computer analysis would be more
  8235. reliable.
  8236.  
  8237. %p "Reference"
  8238. MS 5.15.3.1.8
  8239. %g "2.3/6      Row and Column Labels"
  8240.  
  8241. %p
  8242. Label the rows and columns of tabular displays following the guidelines
  8243. proposed for labeling the fields of data forms.
  8244.  
  8245. %p "Example"
  8246. See sample displays in this section.
  8247.  
  8248. %p "Reference"
  8249. BB 1.8.7
  8250.  
  8251. %p "See also"
  8252. 2.2
  8253. %g "2.3/7      +  Consistent Label Format"
  8254.  
  8255. %p
  8256. Adopt a consistent format for labeling the rows and columns of displayed
  8257. tables.
  8258.  
  8259. %p "Example"
  8260. Each column label might be left-justified with the leftmost character of
  8261. the column entries beneath it.
  8262.  
  8263. %p "Comment"
  8264. Consistent left justification of column labels will prove especially
  8265. helpful when columns vary in width.
  8266.  
  8267. %p "Reference"
  8268. Hartley Young Burnhill 1975
  8269.  
  8270. %p "See also"
  8271. 2.0/6 4.0/6
  8272. %g "2.3/8      +  Distinctive Labeling"
  8273.  
  8274. %p
  8275. Ensure that row and column labels are distinguishable from the data
  8276. displayed within tables, and from the labels of displayed lists such as
  8277. menu options or instructions to users.
  8278.  
  8279. %p "Comment"
  8280. There are many ways to distinguish different types of labeled material,
  8281. including consistent differences in display format/placement as well as
  8282. special fonts and markers.
  8283.  
  8284. %p "Reference"
  8285. EG 2.2.7
  8286.  
  8287. %p "See also"
  8288. 3.1.3/20
  8289. %g "2.3/9      +  Numbered Items Start with 1"
  8290.  
  8291. %p
  8292. When rows or columns are labeled by number, start the numbering with
  8293. "1", rather than "0".
  8294.  
  8295. %p "Comment"
  8296. In counting, people start with "one"; in measuring, they start with
  8297. "zero".
  8298.  
  8299. %p "Reference"
  8300. EG 2.2.6
  8301. %g "2.3/10     +  Repeated Elements in Hierarchic Numbering"
  8302.  
  8303. %p
  8304. For hierarchic lists with compound numbers, display the complete
  8305. numbers; do not omit repeated elements.
  8306.  
  8307. %p "Example"
  8308.  (Good) | 2.1 Position Designation    |
  8309.         | 2.1.1  arbitrary positions  |
  8310.         | 2.1.1.1  discrete           |
  8311.         | 2.1.1.2  continuous         |
  8312.         | 2.1.2  predefined positions |
  8313.         | 2.1.2.1  HOME               |
  8314.         | 2.1.2.2  other              |
  8315.  
  8316.  (Bad)  | 2.1. Position Designation   |
  8317.         |     1. arbitrary positions  |
  8318.         |       1  discrete           |
  8319.         |       2  continuous         |
  8320.         |     2. predefined positions |
  8321.         |       1  HOME               |
  8322.         |       2  other              |
  8323.  
  8324. %p "Comment"
  8325. Implicit numbering, as in the "bad" example, may be acceptable for tasks
  8326. involving perception of list structure.  Complete numbering is better,
  8327. however, for tasks requiring search and identification of individual
  8328. items in the list.
  8329.  
  8330. %p "Reference"
  8331. Smith Aucella 1983b
  8332. %g "2.3/11     +  Labeling Units of Measurement"
  8333.  
  8334. %p
  8335. In tabular displays, either consistently include the units of displayed
  8336. data in the column labels, or else place them after the first row entry.
  8337.  
  8338. %p "Example"
  8339.  (Good) | Time     Velocity   Temperature |
  8340.         | (s)_     (m/s)___   (0C)_______ |
  8341.         |  5        8         25          |
  8342.         | 21       49         29          |
  8343.         | 43       87         35          |
  8344.  
  8345.  (Also acceptable)
  8346.         | Time     Velocity   Temperature |
  8347.         |  5 s      8 m/s     25 0C       |
  8348.         | 21       49         29          |
  8349.         | 43       87         35          |
  8350.  
  8351. %p "Reference"
  8352. BB 1.8.8
  8353. %g "2.3/12     Consistent Column Spacing"
  8354.  
  8355. %p
  8356. Maintain consistent column spacing within a table, and from one table to
  8357. another.
  8358.  
  8359. %p "Example"
  8360. See sample displays in this section.
  8361.  
  8362. %p "Exception"
  8363. When columns are grouped under superheadings, it may help to add extra
  8364. space between superheadings, in order to emphasize that the columns
  8365. under any single superheading are related.
  8366.  
  8367. %p "Reference"
  8368. BB 1.8.3
  8369.  
  8370. %p "See also"
  8371. 2.2/11
  8372. %g "2.3/13     +  Column Scanning Cues"
  8373.  
  8374. %p
  8375. Separate the columns in a table by enough blank spaces, or by some other
  8376. distinctive feature, to ensure separation of entries within a row.
  8377.  
  8378. %p "Example"
  8379. See sample displays in this section.
  8380.  
  8381. %p "Comment"
  8382. For most tables, a column separation of at least three spaces should be
  8383. maintained.  Certainly the spacing between columns should be greater
  8384. than any internal spaces that might be displayed within a tabulated data
  8385. item.
  8386.  
  8387. %p "Reference"
  8388. EG 2.3.6
  8389. %g "2.3/14     +  Row Scanning Cues"
  8390.  
  8391. %p
  8392. In dense tables with many rows, insert a blank line (or some other
  8393. distinctive feature to aid horizontal scanning) after a group of rows at
  8394. regular intervals.
  8395.  
  8396. %p "Example"
  8397. For many applications it will suffice to insert a blank line after every
  8398. five rows.
  8399.  
  8400. %p "Example"
  8401. See sample displays in this section.
  8402.  
  8403. %p "See also"
  8404. 1.5/10
  8405. %g "2.3/15     Justification of Alphabetic Data"
  8406.  
  8407. %p
  8408. Show columns of alphabetic data with left justification to permit rapid
  8409. scanning.
  8410.  
  8411. %p "Example"
  8412.  (Good) | APL     |       (Bad) |   APL   |
  8413.         | COBOL   |             |  COBOL  |
  8414.         | FORTRAN |             | FORTRAN |
  8415.         | PL1     |             |   PL1   |
  8416.  
  8417. %p "Exception"
  8418. Indentation can be used to indicate subordinate elements in hierarchic
  8419. lists.
  8420.  
  8421. %p "Exception"
  8422. A short list, of just four or five items could be displayed horizontally
  8423. on a single line, in the interests of compact display format, if that is
  8424. done consistently.
  8425.  
  8426. %p "Reference"
  8427. BB 1.3.1
  8428. EG 2.2.8 2.2.11
  8429. MS 5.15.3.5.3
  8430. %g "2.3/16     Justification of Numeric Data"
  8431.  
  8432. %p
  8433. Justify columns of numeric data with respect to a fixed decimal point;
  8434. if there is no decimal point, then numbers should be right-justified.
  8435.  
  8436. %p "Example"
  8437. See sample displays in this section.
  8438.  
  8439. %p "Reference"
  8440. BB 1.4.2 1.4.3
  8441. EG 2.3.9
  8442. MS 5.15.3.5.3
  8443. PR 4.8.10 4.10.6
  8444.  
  8445. %p "See also"
  8446. 1.5/7
  8447. %g "2.3/17     +  Maintaining Significant Zeros"
  8448.  
  8449. %p
  8450. When a user must enter numeric values that will later be displayed,
  8451. maintain all significant zeros; zeros should not be arbitrarily removed
  8452. after a decimal point if they affect the meaning of the number in terms
  8453. of significant digits.
  8454.  
  8455. %p "Reference"
  8456. BB 1.4.3
  8457.  
  8458. %p "See also"
  8459. 1.5/8
  8460. %a "2.4    Graphics"
  8461.  
  8462. %p
  8463. Graphics show spatial, temporal, or other relations among data by
  8464. special formatting of displayed elements.
  8465. %g "2.4/1      Graphic Displays"
  8466.  
  8467. %p
  8468. Consider graphics rather than text description or tabulation, for
  8469. display of data showing relations in space or time.
  8470.  
  8471. %p "Comment"
  8472. People cannot readily assimilate detailed textual or tabular data,
  8473. although sometimes such data are necessary.  Therefore, a graphic
  8474. display might be designed where graphic elements showing trends and
  8475. differences are combined with text annotation and tabular presentation
  8476. of detailed data.  In some applications, it might prove helpful to
  8477. supplement a primary graphic display with alternative displays of
  8478. detailed data available as a user-selected option.
  8479.  
  8480. %p "Reference"
  8481. MS 5.15.3.6.1
  8482. Foley Van Dam 1982
  8483. Stewart 1980
  8484. %g "2.4/2      +  Data Comparison"
  8485.  
  8486. %p
  8487. When users must quickly scan and compare related sets of data, consider
  8488. graphic format to display the data.
  8489.  
  8490. %p "Example"
  8491. Graphic display might help users discern errors in a data base, since
  8492. deviant "outliers" will appear visually distinct from the body of
  8493. correct data.
  8494.  
  8495. %p "Reference"
  8496. EG 2.2.9
  8497. MS 5.15.3.6.1
  8498. Cleveland 1985
  8499. %g "2.4/3      +  Monitoring Data Change"
  8500.  
  8501. %p
  8502. When users must monitor changing data, consider graphic format to
  8503. display the data.
  8504.  
  8505. %p "Comment"
  8506. Whenever possible, the computer should handle data monitoring and should
  8507. call abnormalities to the user's attention.  When that is not possible,
  8508. and a user must monitor data changes, graphic display will make it
  8509. easier for the user to detect critical changes and/or values outside the
  8510. normal range.
  8511.  
  8512. %p "Comment"
  8513. The current lore of graphic design derives chiefly from static, printed
  8514. displays.  Computer processing, however, offers a potential for
  8515. continuous dynamic display of changing data that should be considered in
  8516. all methods of graphic presentation.
  8517.  
  8518. %p "Reference"
  8519. Hanson Payne Shiveley Kantowitz 1981
  8520. Tullis 1981
  8521. %g "2.4/4      Consistency"
  8522.  
  8523. %p
  8524. Use consistent logic in the design of graphic displays, and maintain
  8525. standard format, labeling, etc., for each method of graphic
  8526. presentation.
  8527.  
  8528. %p "Comment"
  8529. Consistency in graphic design will allow users to focus on changes in
  8530. displayed data without being distracted by changes in display format.
  8531.  
  8532. %p "Comment"
  8533. The standardization advocated here has to do with the logic of user
  8534. interface design, not with internal processing by graphics software.
  8535. Recent efforts to establish international standards for graphics
  8536. software have been focused on the internal encoding, processing, storage
  8537. and transmission of graphics displays in digital form.  Such data
  8538. processing standards do not in themselves specify or significantly
  8539. constrain user interface design.
  8540.  
  8541. %p "Reference"
  8542. Tufte 1983
  8543.  
  8544. %p "See also"
  8545. 2.0/6
  8546. %g "2.4/5      Only Necessary Information Displayed"
  8547.  
  8548. %p
  8549. Tailor graphic displays to user needs and provide only those data
  8550. necessary for user tasks.
  8551.  
  8552. %p "Comment"
  8553. Current advances in the technology (and theory) of graphic display
  8554. permit realistic depiction of complex natural scenes.  Such technology
  8555. has been successfully applied to generate displays for arts and
  8556. entertainment, and may also find increasing application to information
  8557. displays.  For many information displays, however, less may be more: an
  8558. abstracted schematic diagram, omitting much detail, may convey more
  8559. effective information than a photographic image.  For any particular
  8560. application, the amount of detail needed should be determined based on a
  8561. task analysis.
  8562.  
  8563. %p "Reference"
  8564. Tucker 1984
  8565. Tufte 1983
  8566.  
  8567. %p "See also"
  8568. 2.0/2
  8569. %g "2.4/6      Highlighting Critical Data"
  8570.  
  8571. %p
  8572. When a user's attention must be directed to a portion of a graphic
  8573. display showing critical or abnormal data, highlight that feature with
  8574. some distinctive means of data coding.
  8575.  
  8576. %p "Example"
  8577. On a bar chart, one bar representing an out-of-tolerance condition might
  8578. be textured or shaded differently to call attention to it and to
  8579. contrast it with other bars.
  8580.  
  8581. %p "Comment"
  8582. More specific recommendations for highlighting different kinds of
  8583. graphic displays are provided elsewhere in this section.
  8584.  
  8585. %p "See also"
  8586. 2.6/1
  8587. %g "2.4/7      Reference Index or Baseline"
  8588.  
  8589. %p
  8590. When a user must compare graphic data to some significant level or
  8591. critical value, include a reference index or baseline in the display.
  8592.  
  8593. %p "Example"
  8594. A horizontal line might be displayed on a profit-and-loss graph to
  8595. indicate where displayed curves exceed the break-even point.
  8596.  
  8597. %p "Comment"
  8598. Most data plots include a displayed baseline of some sort.  An
  8599. additional reference index may be displayed as well.  The baseline
  8600. should be chosen with care to provide an appropriate reference for
  8601. displayed data.  A graph without a baseline, or with a poorly chosen
  8602. baseline, may distort the interpretation of displayed data.
  8603.  
  8604. %p "Comment"
  8605. More specific recommendations for indexing different kinds of graphic
  8606. displays are provided elsewhere in this section.
  8607.  
  8608. %p "Reference"
  8609. Tufte 1983
  8610. %g "2.4/8      Text Annotation"
  8611.  
  8612. %p
  8613. When a graph contains some outstanding or discrepant feature that merits
  8614. attention by a user, consider displaying supplementary text to emphasize
  8615. that feature.
  8616.  
  8617. %p "Example"
  8618. A flow diagram for process control might include a current advisory
  8619. message, POSSIBLE PRESSURE VALVE FAILURE, as well as appropriate graphic
  8620. indications of the problem.
  8621.  
  8622. %p "Comment"
  8623. This recommendation derives from the lore of audiovisual aids, where
  8624. speakers are exhorted to "get the message across" with words as well as
  8625. pictures.  In some information system applications, a graphic display
  8626. may convey many messages at once.  It might then prove difficult to
  8627. determine which message(s) should be stated in words.  As in other
  8628. aspects of display design, some priorities must be established in
  8629. relation to the user's information requirements.
  8630.  
  8631. %p "Reference"
  8632. Tufte 1983
  8633. %g "2.4/9      +  Data Annotation"
  8634.  
  8635. %p
  8636. When precise reading of a graphic display is required, annotate the
  8637. display with actual data values to supplement their graphic
  8638. representation.
  8639.  
  8640. %p "Example"
  8641. Adjacent numeric annotation might be added to the ends of displayed bars
  8642. on a bar graph; numeric data might be displayed to mark the points of a
  8643. plotted curve.
  8644.  
  8645. %p "Comment"
  8646. Some displays may require complete data annotation, but many displays
  8647. will require annotation only for selected data elements.
  8648. %g "2.4/10     +  Consistent Annotation Format"
  8649.  
  8650. %p
  8651. Format any displayed annotation consistently in relation to the graphic
  8652. elements.
  8653.  
  8654. %p "Example"
  8655. Labels might always be placed over the displayed points with which they
  8656. are associated.
  8657.  
  8658. %p "Comment"
  8659. Sometimes it might be necessary to displace a label from its "standard"
  8660. position to avoid overlap or crowding on the display; such exceptions
  8661. should themselves be handled consistently.
  8662.  
  8663. %p "See also"
  8664. 2.4/4
  8665. %g "2.4/11     +  Normal Orientation for Labels"
  8666.  
  8667. %p
  8668. Display the annotation of graphic displays, including labels for the
  8669. axes of graphs, in a normal orientation for reading text.
  8670.  
  8671. %p "Example"
  8672. For users reading English, labels should be displayed horizontally, even
  8673. for the vertical axis of a graph.
  8674.  
  8675. %p "Comment"
  8676. A conventional text orientation of labels will permit faster, more
  8677. accurate reading.  With a printed graph, it may be possible to tilt the
  8678. page to read a disoriented label.  With an electronic display, a user
  8679. usually cannot tilt the display screen but instead must tilt his/her
  8680. head.
  8681.  
  8682. %p "Comment"
  8683. More specific recommendations for labeling different kinds of graphic
  8684. displays are provided elsewhere in this section.
  8685.  
  8686. %p "Reference"
  8687. Noyes 1980
  8688. Tufte 1983
  8689. %g "2.4/12     Standard Symbols"
  8690.  
  8691. %p
  8692. Establish standard meanings for graphic symbols and use them
  8693. consistently within a system and among systems with the same users.
  8694.  
  8695. %p "Example"
  8696. As a negative example, if an aircraft symbol is used to denote an
  8697. aircraft on one display, that symbol should not be used to mark
  8698. airfields on another display.
  8699.  
  8700. %p "Comment"
  8701. If users may be unfamiliar with the graphic symbology used, consider
  8702. incorporating a legend to define displayed symbols.  Alternatively,
  8703. users might be allowed to request a supplementary display of symbol
  8704. definitions or to request the definition of a particular displayed
  8705. symbol by pointing at it.
  8706.  
  8707. %p "Reference"
  8708. Foley Van Dam 1982
  8709. Hopkin Taylor 1979
  8710. %g "2.4/13     +  Pictorial Symbols"
  8711.  
  8712. %p
  8713. Design pictorial symbols (e.g., icons, pictograms) to look like the
  8714. objects or processes they represent, and test the resulting symbol set
  8715. with a representative group of users to ensure that the intended
  8716. meanings will be understood.
  8717.  
  8718. %p "Comment"
  8719. Some pictorial symbols have conventional meanings within a user
  8720. population, which must be followed to ensure their correct
  8721. interpretation.  Novel symbol design must always be tested.  It can
  8722. happen that a symbol whose meaning seems perfectly clear to its designer
  8723. may not be understood by system users.
  8724.  
  8725. %p "Reference"
  8726. Barnard Marcel 1984
  8727. Smith Irby Kimball Verplank 1982
  8728.  
  8729. %p "See also"
  8730. 3.1.8/3
  8731. %g "2.4/14     Simple Texture Codes"
  8732.  
  8733. %p
  8734. In selecting textures to code displayed areas, choose simple hatching
  8735. rather than elaborate patterns.
  8736.  
  8737. %p "Comment"
  8738. Compared with manual drafting methods, it is temptingly easy to have a
  8739. computer generate texture codes of considerable complexity.  A designer
  8740. should resist that temptation.  When in doubt, create some sample
  8741. displays and check them to ensure that texture codes do not produce
  8742. distracting visual effects such as moire patterns.
  8743.  
  8744. %p "Comment"
  8745. Texture coding is a technique specifically related to graphics.  Other
  8746. kinds of display coding -- size, shape, brightness, color, etc. -- can
  8747. be applied more generally in display design.  Display coding is
  8748. considered in Section 2.6 of these guidelines.
  8749.  
  8750. %p "Reference"
  8751. Tufte 1983
  8752. %g "2.4/15     Zooming for Display Expansion"
  8753.  
  8754. %p
  8755. When a user may need to perceive graphic relations more accurately, or
  8756. to view pictures, diagrams, maps, etc. in greater detail, provide a
  8757. zooming capability that allows the user to expand the display of any
  8758. selected area.
  8759.  
  8760. %p "Comment"
  8761. Zooming can increase display spacing among crowded data items so that
  8762. they can be perceived better.  Thus an air traffic controller might
  8763. expand a portion of a situation display to see more clearly the spacing
  8764. of converging tracks that threaten a collision.
  8765.  
  8766. %p "Comment"
  8767. Zooming can increase the degree of detail, i.e., can add data to a
  8768. display.  Thus a user might expand a city map to see detailed road
  8769. structures that are not shown in a small-scale map.  When used this way,
  8770. a zooming capability implies that graphic data be "layered"
  8771. hierarchically at different levels of aggregation, which may require
  8772. complex data files and data management techniques.
  8773.  
  8774. %p "Comment"
  8775. Zooming might be implemented as a continuous function, by which a
  8776. display can be expanded to any degree, analogous to a continuous panning
  8777. capability.  Or zooming might be implemented in discrete increments, as
  8778. in increasing the magnification of an optical instrument to x2, x4, etc.
  8779. Incremental zooming, with abrupt changes in display scale, may tend to
  8780. disorient a user, but might prove acceptable in some applications.
  8781.  
  8782. %p "See also"
  8783. 2.7.2/13
  8784. %g "2.4/16     +  Show Changing Scale"
  8785.  
  8786. %p
  8787. When a map or other graphic display has been expanded from its normal
  8788. coverage, provide some scale indicator of the expansion factor.
  8789.  
  8790. %p "Example"
  8791. A linear indicator of current map scale might be shown in the margin, or
  8792. perhaps simply a numeric indication of the display expansion factor
  8793. (e.g., | x4 |).
  8794.  
  8795. %p "Comment"
  8796. In many applications it may be helpful to show the scale even for a
  8797. display with normal, unexpanded coverage.
  8798.  
  8799. %p "See also"
  8800. 2.7.2/14
  8801. %g "2.4/17     +  Show Overview Position of Visible Section"
  8802.  
  8803. %p
  8804. When a display has been expanded from its normal coverage, provide some
  8805. graphic indicator of the position in the overall display of the visible
  8806. section.
  8807.  
  8808. %p "Example"
  8809. In a corner of any frame of an expanded display, the computer might show
  8810. a rectangle representing the overall display, in which a smaller
  8811. rectangle is placed to indicate the position and extent of the currently
  8812. visible portion of that display.
  8813.  
  8814. %p "Comment"
  8815. A graphic indication of the current coverage of an expanded display will
  8816. provide some visual context to help a user maintain a conceptual
  8817. orientation between the visible part and the whole display from which
  8818. that part has been expanded.
  8819.  
  8820. %p "Reference"
  8821. Foley Van Dam 1982
  8822.  
  8823. %p "See also"
  8824. 2.4.8/11 2.7.2/15
  8825. %g "2.4/18     Animation for Dynamic Display"
  8826.  
  8827. %p
  8828. Consider animation, the movement of data elements under computer
  8829. control, for displaying a temporal sequence of changing events, or for
  8830. the pictorial display of complex objects.
  8831.  
  8832. %p "Example"
  8833. For air traffic control, sequential frames of radar data might be
  8834. displayed (with time compression) to aid perception of the tracks from
  8835. moving aircraft.
  8836.  
  8837. %p "Example"
  8838. A complex molecular structure might be perceived more effectively if a
  8839. viewer is shown sequential displays depicting a computer-stored model
  8840. from different angles.
  8841.  
  8842. %p "Example"
  8843. An architect might demonstrate a proposed building design with a
  8844. sequential "walk through" displayed from a computer-stored model.
  8845.  
  8846. %p "Comment"
  8847. Animation can be used to enhance a variety of graphic displays,
  8848. including scatterplots, curves, bar graphs, flow charts, etc.  Computer
  8849. tools to support display animation are growing more powerful, and should
  8850. find increased use in information displays.  Prototype testing may be
  8851. required to determine optimal timing for sequential display, which will
  8852. vary with different applications.
  8853.  
  8854. %p "Reference"
  8855. MS 5.15.3.6.3
  8856. Dunn 1973
  8857. Tucker 1984
  8858.  
  8859. %p "See also"
  8860. 2.7.3/4
  8861. %g "2.4/19     +  Highlighting by Animation"
  8862.  
  8863. %p
  8864. When sequential relations or other connectivity between display elements
  8865. requires highlighting, consider animation for that purpose.
  8866.  
  8867. %p "Example"
  8868. Connectivity might be emphasized by an arrow moving repeatedly between
  8869. two displayed elements.
  8870.  
  8871. %p "Example"
  8872. Sequential relations might be emphasized by an animated "sprite", i.e.,
  8873. a moving pointer under computer control.
  8874.  
  8875. %p "Comment"
  8876. There was a time when viewers of "sing-along" motion pictures were
  8877. exhorted to "follow the bouncing ball" which marked their place.  A
  8878. moving marker of that kind is now often called a "sprite", or sometimes
  8879. a "movable object block" (MOB).  Sprites can simplify the process of
  8880. animating computer-generated displays.  Once a graphic element has been
  8881. defined to a computer as a sprite, that element can be moved about a
  8882. display independently of a fixed background or of other sprites.
  8883.  
  8884. %p "Comment"
  8885. If only one element is shown moving on an otherwise stable display, that
  8886. moving element will be seen as distinctive.  Such animated highlighting
  8887. is probably subject to diminishing returns.  If one sprite is good for
  8888. directing a user's attention, two may not be.  The simultaneous display
  8889. of multiple sprites may confuse a user.
  8890. %g "2.4/20     Printing Graphic Displays"
  8891.  
  8892. %p
  8893. When on-line graphic displays must be printed, allow users to display
  8894. the material exactly as it will appear in the printed output.
  8895.  
  8896. %p "Comment"
  8897. On-line displays can offer some advantages over printed graphics, in
  8898. terms of animation and highlighting.  When a user is preparing a display
  8899. for printed output, however, it is important that limitations of the
  8900. print medium can be taken realistically into account.  If the printed
  8901. version does not appear satisfactory, it may be necessary to reformat
  8902. the display in some way.  Alternatively, it may be possible to find a
  8903. printer with greater capabilities.
  8904. %a "2.4.1  Graphics - Scaling"
  8905.  
  8906. %p
  8907. Scaling refers to the positioning of displayed data elements with
  8908. respect to a defined measurement standard.
  8909. %g "2.4.1/1    Scaling Conventions"
  8910.  
  8911. %p
  8912. Follow conventional scaling practice, so that values on an axis increase
  8913. as they move away from the origin, and the horizontal X-axis is used to
  8914. plot time or the postulated cause of an event (the independent variable)
  8915. and the vertical Y-axis is used to plot a caused effect (the dependent
  8916. variable).
  8917.  
  8918. %p "Example"
  8919. In a graph showing plant growth, the X-axis might show successive days,
  8920. or it might show increasing amounts of water or fertilizer applied.
  8921.  
  8922. %p "Comment"
  8923. Scaling conventions also apply to the placement of the origin of a
  8924. graph.  When graphed data represent positive numbers, which is usually
  8925. the case, the graph should be displayed with the origin at the lower
  8926. left.  When the data include negative values and the axes must extend in
  8927. both directions from a zero point, that origin should be displayed in
  8928. the center of the graph.
  8929.  
  8930. %p "Comment"
  8931. When the X-axis represents time intervals, the labeled scale points
  8932. should represent the end of each time interval.  This consistent usage
  8933. will aid interpretation of all data plots, including scatterplots, line
  8934. graphs, and bar charts.
  8935. %g "2.4.1/2    +  Consistent Scaling"
  8936.  
  8937. %p
  8938. If users must compare graphic data across a series of charts, use the
  8939. same scale for each chart.
  8940.  
  8941. %p "Comment"
  8942. Users will find it difficult to compare data sets that are scaled
  8943. differently.  Moreover, users may overlook differences in labeling, and
  8944. assume that the same scale has been used even when displayed scales are
  8945. actually different from one another.
  8946.  
  8947. %p "Comment"
  8948. Note that in many applications it may prove more effective to display
  8949. data for comparison in a single combined chart, rather than requiring
  8950. users to compare data across a series of charts.
  8951.  
  8952. %p "Reference"
  8953. Cleveland 1985
  8954. %g "2.4.1/3    Labeling Axes"
  8955.  
  8956. %p
  8957. Label each scale axis clearly with its description and measurement
  8958. units, if any.
  8959.  
  8960. %p "Example"
  8961. Labels might include "Population in Thousands", "Price in $1000",
  8962. "Percent", "Fiscal Year", etc.
  8963.  
  8964. %p "Comment"
  8965. Labels should be displayed in conventional text orientation on both the
  8966. X- and Y-axis for ease of reading.
  8967.  
  8968. %p "Reference"
  8969. MS 5.15.3.6.4
  8970. Tufte 1983
  8971.  
  8972. %p "See also"
  8973. 2.4/11
  8974. %g "2.4.1/4    Linear Scaling"
  8975.  
  8976. %p
  8977. Employ a linear scale for displayed data, in preference to logarithmic
  8978. or other non-linear methods of scaling.
  8979.  
  8980. %p "Exception"
  8981. A logarithmic scale shows percentage change rather than arithmetic
  8982. change; it may be appropriate for some special applications.
  8983.  
  8984. %p "Comment"
  8985. Most users are more familiar with linear scales and will interpret
  8986. linear scales more accurately than other methods of scaling.
  8987. %g "2.4.1/5    +  Scaling in Standard Intervals"
  8988.  
  8989. %p
  8990. Construct scales with tick marks at a standard interval of 1, 2, 5, or
  8991. 10 (or their multiples by 10) for labeled divisions; intervening tick
  8992. marks to aid visual interpolation should be consistent with the labeled
  8993. scale interval.
  8994.  
  8995. %p "Example"
  8996. As a negative example, it is not acceptable to let the computer divide
  8997. available scale space automatically if that results in a scale labeled
  8998. in unfamiliar intervals such as 6 or 13.
  8999.  
  9000. %p "Exception"
  9001. In special instances, the X-axis might be scaled in odd intervals to
  9002. show customary divisions, such as the seven days in a week or the 12
  9003. months in a year.
  9004.  
  9005. %p "Comment"
  9006. Users will find it difficult to interpret scales based on odd intervals,
  9007. even if computers do not.
  9008. %g "2.4.1/6    +  Numeric Scales Start at Zero"
  9009.  
  9010. %p
  9011. When users must compare aggregate quantities within a display, or within
  9012. a series of displays, scaling of numeric data should begin with zero.
  9013.  
  9014. %p "Comment"
  9015. If for any reason the zero point is omitted, the display should include
  9016. a clear indication of that omission.
  9017. %g "2.4.1/7    Restricted Use of Broken Axes"
  9018.  
  9019. %p
  9020. When data comparisons of interest fall within a limited range, consider
  9021. constructing the scaled axis to emphasize that range, with a break in
  9022. the displayed axis to indicate discontinuity with the scale origin.
  9023.  
  9024. %p "Comment"
  9025. Note, however, that a broken axis distorts the displayed amount in
  9026. relation to a base value and so risks confusing users.  In effect, a
  9027. user will expect that a scale marked in regular intervals will continue
  9028. in a consistent fashion.  If an axis must be broken, label that break
  9029. clearly, perhaps with some indicator that extends across the displayed
  9030. graph.
  9031.  
  9032. %p "Reference"
  9033. Cleveland 1985
  9034. Tufte 1983
  9035. %g "2.4.1/8    Duplicate Axes"
  9036.  
  9037. %p
  9038. When scaled data will contain extreme values, display duplicate axes, so
  9039. that the X-axis appears at both the top and bottom, and the Y-axis at
  9040. both the left and right sides of the graph.
  9041.  
  9042. %p "Comment"
  9043. Extreme data values may be located far from conventionally placed axes.
  9044. When duplicate axes are displayed at the top and right side, users will
  9045. find it easier to read the extreme values.
  9046.  
  9047. %p "Reference"
  9048. Cleveland 1985
  9049. Wright 1977
  9050. %g "2.4.1/9    Single Scale Only"
  9051.  
  9052. %p
  9053. Design graphs so that only a single scale is shown on each axis, rather
  9054. than including different scales for different curves in the graph.
  9055.  
  9056. %p "Exception"
  9057. For users experienced in data analysis, multiple-scale charts may prove
  9058. an effective tool for comparing relative values of different variables.
  9059.  
  9060. %p "Comment"
  9061. Single-scale graphs will generally permit more accurate reading than
  9062. graphs displaying several scales.  Many users will be confused by
  9063. multiple-scale graphs and make errors when interpreting them.  Moreover,
  9064. by changing the relative scale factors of multiple-scale graphs it is
  9065. possible to change radically their apparent meaning and bias
  9066. interpretation by users.
  9067.  
  9068. %p "Comment"
  9069. If multiple-scale graphs are used, an interactive display capability
  9070. might aid interpretation, e.g., permitting a user to select any curve
  9071. and have the computer highlight the corresponding scale for that curve.
  9072. %g "2.4.1/10   +  Scaling Against a Reference Index"
  9073.  
  9074. %p
  9075. If different variables on a single graph seem to require different
  9076. scales, consider scaling them against a common baseline index, rather
  9077. than showing multiple scales.
  9078.  
  9079. %p "Example"
  9080. Rather than showing sales in units and profits in dollars, both might be
  9081. graphed in terms of percent change from a baseline period.
  9082.  
  9083. %p "Comment"
  9084. An indexed chart can permit comparisons among different variables when
  9085. multiple scales would otherwise be needed.  However, care should be
  9086. taken in selecting an appropriate base period against which to index, in
  9087. order to ensure that comparisons will not be biased.
  9088.  
  9089. %p "Comment"
  9090. Index scaling may also be appropriate for showing the effect of a single
  9091. variable (such as money) whose units of measurement change in real value
  9092. with time.
  9093.  
  9094. %p "See also"
  9095. 2.4/7
  9096. %g "2.4.1/11   Aids for Scale Interpolation"
  9097.  
  9098. %p
  9099. Where accuracy of reading graphic data is required, provide computer
  9100. aids for exact interpolation.
  9101.  
  9102. %p "Example"
  9103. It might suffice to allow users to request a fine grid as an optional
  9104. display feature; or it might be better to display vertical and
  9105. horizontal rules that a user could move to intersect the axes of a
  9106. chart; or it might prove best simply to let a user point at any data
  9107. item and have the computer label that item with a readout of its exact
  9108. value(s).
  9109. %g "2.4.1/12   +  Unobtrusive Grids"
  9110.  
  9111. %p
  9112. When grid lines are displayed, ensure that they do not look like data
  9113. and do not obscure data elements -- curves, bars, plotted points, etc.
  9114.  
  9115. %p "Comment"
  9116. Grid lines should be thinner than data curves, and should be invisible
  9117. behind depicted objects and areas such as the bars on a bar chart.  Note
  9118. in particular that heavy vertical grid lines may conceal the height of
  9119. plotted peaks.
  9120.  
  9121. %p "Comment"
  9122. In this respect, electronic displays offer more flexibility than printed
  9123. graphs.  Grids can be displayed or suppressed by user selection.  For
  9124. reading the value of a particular data point, perhaps no grid is needed
  9125. at all.  A user might simply ask the computer to display the value of
  9126. any selected point.
  9127.  
  9128. %p "Reference"
  9129. Cleveland 1985
  9130. Tufte 1983
  9131. %g "2.4.1/13   Restricted Use of Three-Dimensional Scaling"
  9132.  
  9133. %p
  9134. Consider three-dimensional scaling, where a Z-axis is added to the
  9135. display, only in special applications for experienced users.
  9136.  
  9137. %p "Comment"
  9138. Showing a Z-axis on a display that is limited to two actual dimensions
  9139. will confuse many users.  If three-dimensional scaling is employed,
  9140. adopt a consistent method of representation, e.g., isometric or
  9141. orthographic projection, perspective drawing, or triangular coordinate
  9142. grid.
  9143.  
  9144. %p "Comment"
  9145. It is often possible in graphic display to show a third dimension
  9146. through use of auxiliary coding -- e.g., color or shape coding, or
  9147. supplementary annotation -- which may prove more effective than trying
  9148. to represent a third spatial dimension pictorially.
  9149. %a "2.4.2  Graphics - Scatterplots"
  9150.  
  9151. %p
  9152. Scatterplots show relations among the individual data points in a
  9153. two-dimensional array.
  9154. %g "2.4.2/1    Scatterplots"
  9155.  
  9156. %p
  9157. Consider scatterplots, in which data are plotted as points in a
  9158. two-dimensional graph, to display how two variables are correlated or to
  9159. show the distribution of points in space.
  9160.  
  9161. %p "Example"
  9162. A changing display of points representing radar data, such as those used
  9163. for monitoring aircraft tracks, might be regarded as a dynamic
  9164. scatterplot.
  9165.  
  9166. %p "Comment"
  9167. Curves can be superimposed on scatterplots to indicate computed data
  9168. trends, correlations, or other derived statistical measures, thus
  9169. combining two types of graphic display.
  9170.  
  9171. %p "Comment"
  9172. Scatterplots, as the name implies, are sometimes used to show a
  9173. dispersal intended to indicate non-correlation of variables.  But
  9174. scatterplots may not be convincing for that purpose, because users will
  9175. often perceive or imagine patterns in scattered data points where none
  9176. actually exist.
  9177.  
  9178. %p "Comment"
  9179. Note that scatterplots cannot be shown effectively in most forms of
  9180. three-dimensional spatial representation because of inherent display
  9181. ambiguities.  (Here the triangular grid might be considered an
  9182. exception.) A third dimension might be represented by coding the symbols
  9183. used to plot different data categories.  If that is done, however, the
  9184. visual correlation between any two variables in the scatterplot will be
  9185. obscured.
  9186. %g "2.4.2/2    Highlighting"
  9187.  
  9188. %p
  9189. If some plotted points represent data of particular significance,
  9190. highlight those points to make them visually distinctive from others.
  9191.  
  9192. %p "Example"
  9193. Significant data points might be highlighted by bolding, color,
  9194. blinking, shape coding, or other means, or might be designated by
  9195. supplementary display annotation.
  9196.  
  9197. %p "See also"
  9198. 2.4/6 2.6/1
  9199. %g "2.4.2/3    Grouping Scatterplots to Show Multiple Relations"
  9200.  
  9201. %p
  9202. When relations among several variables must be examined, consider
  9203. displaying an ordered group (matrix) of scatterplots, each showing the
  9204. relation between just two variables.
  9205.  
  9206. %p "Comment"
  9207. The ordering of several scatterplots in a single display might help a
  9208. user discern relations among interacting variables.
  9209.  
  9210. %p "Reference"
  9211. Cleveland 1985
  9212. %g "2.4.2/4    +  Interactive Analysis of Grouped Scatterplots"
  9213.  
  9214. %p
  9215. When scatterplots are grouped in a single display to show relations
  9216. among several variables, provide some interactive aid for analysis so
  9217. that if a user selects a set of data in one plot then the corresponding
  9218. data points in other plots will be highlighted.
  9219.  
  9220. %p "Comment"
  9221. Data selection might be accomplished by "brushing" a scatterplot with a
  9222. superimposed box of controllable size to define the data set of
  9223. interest.  That technique can exploit the capabilities of interactive
  9224. graphics to permit a range of data analysis not possible when using
  9225. printed graphs.
  9226.  
  9227. %p "Reference"
  9228. Cleveland 1985
  9229. %a "2.4.3  Graphics - Curves and Line Graphs"
  9230.  
  9231. %p
  9232. Curves and line graphs show relations among sets of data defined by two
  9233. continuous variables.
  9234. %g "2.4.3/1    Curves and Line Graphs"
  9235.  
  9236. %p
  9237. Consider curves (in which data relations are summarized by a smoothed
  9238. line) or line graphs (in which plotted data points are connected by
  9239. straight line segments) for displaying relations between two continuous
  9240. variables, particularly for showing data changes over time.
  9241.  
  9242. %p "Comment"
  9243. Line graphs are regarded here merely as a special form of plotted
  9244. curves, hence recommendations for displaying curves are intended to
  9245. apply also to line graphs.
  9246.  
  9247. %p "Comment"
  9248. Curves are generally superior to other graphic methods for speed and
  9249. accuracy in interpreting data trends.  Unlike printed graphs,
  9250. computer-generated curves can show dynamic data change, as in
  9251. oscilloscope displays.
  9252.  
  9253. %p "Comment"
  9254. A curve implies a continuous function.  Where that could be misleading,
  9255. a better choice might be a bar graph composed of discrete display
  9256. elements from one data point to the next.
  9257.  
  9258. %p "Comment"
  9259. Sometimes curves may be combined with other graph types.  For example,
  9260. annual sales for the past several years might be displayed as a bar
  9261. chart, followed by curves to indicate monthly sales during the current
  9262. year.
  9263.  
  9264. %p "Reference"
  9265. Schutz 1961
  9266. %g "2.4.3/2    Comparing Curves"
  9267.  
  9268. %p
  9269. When several curves must each be compared with the others, display them
  9270. in one combined graph.
  9271.  
  9272. %p "Comment"
  9273. The objective here is an integrated display that will provide a user
  9274. with all needed information.  On the other hand, as more curves are
  9275. added to a graph the user's task of comparison will become more
  9276. difficult.  Some designers recommend that no more than four curves be
  9277. displayed in a single graph.  Certainly it is clear that some reasonable
  9278. limit should be adopted.
  9279.  
  9280. %p "Comment"
  9281. If one particular curve must be compared with each of several others,
  9282. some designers recommend multiple charts in which each pairing is shown
  9283. separately, rather than displaying all the curves in one single chart.
  9284. When multiple charts are used for such a purpose, the same scale should
  9285. be used in each of the charts.
  9286.  
  9287. %p "Reference"
  9288. MS 5.15.3.6.5
  9289.  
  9290. %p "See also"
  9291. 2.4.1/2
  9292. %g "2.4.3/3    Labeling Curves"
  9293.  
  9294. %p
  9295. When multiple curves are included in a single graph, each curve should
  9296. be identified directly by an adjacent label, rather than by a separate
  9297. legend.
  9298.  
  9299. %p "Exception"
  9300. Where displayed curves are too close for direct labeling, an acceptable
  9301. alternative might be to distinguish the various curves in some way,
  9302. perhaps by color coding or line coding, and identify their codes in a
  9303. separate legend.
  9304.  
  9305. %p "Comment"
  9306. Direct labeling will permit users to assimilate information more rapidly
  9307. than displaying a separate legend.
  9308.  
  9309. %p "Reference"
  9310. Milroy Poulton 1978
  9311.  
  9312. %p "See also"
  9313. 2.4/11
  9314. %g "2.4.3/4    +  Compatible Ordering in Legends"
  9315.  
  9316. %p
  9317. If a legend must be displayed, order the codes in the legend to match
  9318. the spatial order of their corresponding curves in the graph itself.
  9319.  
  9320. %p "Exception"
  9321. If legends are shown for a series of related graphs, then adopt some
  9322. logical order consistently for all of those legends.
  9323. %g "2.4.3/5    Highlighting"
  9324.  
  9325. %p
  9326. In charts displaying multiple curves, if one curve represents data of
  9327. particular significance, highlight that curve.
  9328.  
  9329. %p "Example"
  9330. If one curve represents critical/discrepant data, that curve might be
  9331. displayed with a noticeably thicker line stroke or in a different color.
  9332.  
  9333. %p "Comment"
  9334. If line coding is already used to distinguish among multiple curves,
  9335. then the means of highlighting any particular curve should be selected
  9336. so that it will not be confused with coding for visual separation.  For
  9337. example, if displayed curves are distinguished by line codes (solid,
  9338. dashed, dotted, etc.), then one curve might be highlighted by displaying
  9339. it in a different color.
  9340.  
  9341. %p "See also"
  9342. 2.4/6 2.6/1
  9343. %g "2.4.3/6    Line Coding to Distinguish Curves"
  9344.  
  9345. %p
  9346. When multiple curves are displayed in a single graph, and particularly
  9347. if those curves approach and/or intersect one another, provide line
  9348. coding to distinguish one curve from another.
  9349.  
  9350. %p "Example"
  9351. Curves might be distinguished by different colors or different line
  9352. types; commonly recommended line types include solid, dashed, dotted,
  9353. and dot-dashed.
  9354.  
  9355. %p "Exception"
  9356. When one curve must be compared with a set of other curves, which need
  9357. not themselves be distinguished, then it might help to display all the
  9358. curves with the same line type and highlight the one curve that is
  9359. intended to be distinctive.
  9360.  
  9361. %p "Comment"
  9362. Lines might also be coded by stroke width, including at least wide
  9363. (bold) and narrow (light), but it is probably better to reserve that
  9364. distinction for use in distinguishing data curves (bold) from background
  9365. display of reference grids (light).  In particular, do not use bold or
  9366. heavy dots for coding, but reserve those for plotting data points.
  9367.  
  9368. %p "Comment"
  9369. Aside from conventional means of display coding, it may be possible to
  9370. provide aids that are more interactive.  For example, the computer might
  9371. highlight any particular curve selected by a user.
  9372.  
  9373. %p "Reference"
  9374. Cleveland 1985
  9375.  
  9376. %p "See also"
  9377. 2.6/17
  9378. %g "2.4.3/7    +  Consistent Line Codes"
  9379.  
  9380. %p
  9381. When coding by line type in a series of displayed charts, use line codes
  9382. consistently to represent corresponding data.
  9383. %g "2.4.3/8    +  Broken Lines for Projected Curves"
  9384.  
  9385. %p
  9386. When curves represent planned or projected or extrapolated data, show
  9387. them consistently as broken (dashed or dotted) lines to distinguish them
  9388. from solid curves representing actual data.
  9389.  
  9390. %p "Comment"
  9391. A consistent convention in this regard will make charts easier to
  9392. interpret.
  9393. %g "2.4.3/9    Reference Index"
  9394.  
  9395. %p
  9396. When curves must be compared with some critical value, include a
  9397. reference index in the chart to aid that comparison.
  9398.  
  9399. %p "Comment"
  9400. In such cases, the index might be displayed as a horizontal or vertical
  9401. line, or perhaps as a reference curve of some kind.
  9402.  
  9403. %p "See also"
  9404. 2.4/7
  9405. %g "2.4.3/10   Repeating Display of Cyclic Data"
  9406.  
  9407. %p
  9408. Where curves represent cyclic data, consider extending the graph to
  9409. repeat uncompleted portions of the displayed cycle.
  9410.  
  9411. %p "Example"
  9412. A plot showing train arrival times at different stations should be
  9413. extended beyond a 24-hour cycle as necessary to show the complete
  9414. schedules of any trains en route at midnight.
  9415.  
  9416. %p "Comment"
  9417. The intent here is to allow users to scan any critical portion of the
  9418. displayed cycle without having to return visually to the beginning of
  9419. the plot.  How much extension is desirable will depend on the particular
  9420. application.  In short, data that are used together should be displayed
  9421. together.
  9422.  
  9423. %p "Reference"
  9424. Tufte 1983
  9425. %g "2.4.3/11   Direct Display of Differences"
  9426.  
  9427. %p
  9428. Where users must evaluate the difference between two sets of data, plot
  9429. that difference directly as a curve in its own right, rather than
  9430. requiring users to compare visually the curves that represent the
  9431. original data sets.
  9432.  
  9433. %p "Example"
  9434. If two curves represent income and expenses, then it might help to plot
  9435. the difference between those curves to show profit (or loss).
  9436.  
  9437. %p "Comment"
  9438. Some designers recommend band charts, where two curves are plotted and
  9439. the area between them is textured or shaded, for applications where the
  9440. difference between curves is of interest, but where that difference must
  9441. be interpreted in terms of the absolute values of the two variables.
  9442.  
  9443. %p "Reference"
  9444. Cleveland 1985
  9445. %g "2.4.3/12   Surface Charts"
  9446.  
  9447. %p
  9448. When curves represent all of the portions of a whole, consider using a
  9449. surface chart in which curves are stacked above one another to display
  9450. aggregated amounts, and the areas defined below the curves are textured
  9451. or shaded.
  9452.  
  9453. %p "Example"
  9454. Surface charts might be appropriate to display sales volume over time in
  9455. different market areas, or for different products.
  9456.  
  9457. %p "Comment"
  9458. The area texture or shading between curves has an implication of volume
  9459. that is appropriate for many purposes.  However, for curves that do not
  9460. represent parts of a whole (e.g., a set of price indices), surface
  9461. charts might have misleading implications and should not be used.
  9462.  
  9463. %p "Comment"
  9464. Surface charts permit smooth, continuous display of data categories that
  9465. might be represented in more discrete form by a set of segmented bars.
  9466. Thus, recommendations for surface charts may be applied also to
  9467. segmented bar charts.
  9468.  
  9469. %p "See also"
  9470. 2.4.4/9
  9471. %g "2.4.3/13   +  Ordering Data in Surface Charts"
  9472.  
  9473. %p
  9474. Order the data categories in a surface chart so that the least variable
  9475. curves are displayed at the bottom and the most variable at the top.
  9476.  
  9477. %p "Comment"
  9478. In a surface chart, any irregularity in the bottom curve will
  9479. "propagate" throughout the curves above it, which will make it difficult
  9480. for a user to distinguish whether apparent irregularity in upper curves
  9481. is real or merely a consequence of this method of presentation.
  9482.  
  9483. %p "Comment"
  9484. Sometimes there are independent logical grounds for the ordering of data
  9485. categories.  If a surface chart constructed on a logical basis produces
  9486. confusing irregularity of curves, then it might be better to display the
  9487. data in some other graphic format.
  9488.  
  9489. %p "See also"
  9490. 2.4.4/10
  9491. %g "2.4.3/14   +  Labeling Surface Charts"
  9492.  
  9493. %p
  9494. Where space permits, label the different areas of surface charts
  9495. directly within the textured or shaded bands.
  9496. %g "2.4.3/15   Cumulative Curves"
  9497.  
  9498. %p
  9499. Consider cumulative curves to show the current total at any point; but
  9500. do not rely on cumulative curves to show effectively the amount of
  9501. change at any point.
  9502.  
  9503. %p "Comment"
  9504. Cumulative curves tend to "wash out" local variations in the displayed
  9505. data.  The rate of change in incremental data can be estimated by
  9506. judging the slope of a cumulative curve at any point, but that is hard
  9507. to do.
  9508. %a "2.4.4  Graphics - Bar Graphs"
  9509.  
  9510. %p
  9511. Bar graphs show a comparative measure for separate entities or for a
  9512. variable sampled at discrete intervals.
  9513. %g "2.4.4/1    Bar Graphs"
  9514.  
  9515. %p
  9516. Consider bar graphs, where numeric quantities are represented by the
  9517. linear extent of parallel bars, for comparing a single measure across a
  9518. set of several entities or for a variable sampled at discrete intervals.
  9519.  
  9520. %p "Comment"
  9521. Displayed bars are usually shown extending from a common origin.  For
  9522. some applications, however, the bars might extend between separately
  9523. plotted high- and low-points.  Bars might be displayed, for example, to
  9524. indicate the range of observed measures.
  9525.  
  9526. %p "Comment"
  9527. The displayed linear extent of adjacent bars permits direct visual
  9528. comparison of quantity, and thus effective assimilation of comparative
  9529. data by users.
  9530.  
  9531. %p "Comment"
  9532. The value of the bar graph format, as with other graphic displays, is to
  9533. speed information assimilation by a user.  In some applications,
  9534. however, a user can scan displays in a leisurely way, as when reviewing
  9535. printed output.  In such cases, the data shown in a bar graph could
  9536. often be presented more economically (i.e., more compactly) by a textual
  9537. description or in a small table.
  9538.  
  9539. %p "Comment"
  9540. For experienced users, the overall pattern of a bar graph may serve a
  9541. diagnostic function beyond the comparison of individual bars.  For
  9542. example, if multiple bars show data from different components of a
  9543. complex system, then users may learn characteristic "profiles" of the
  9544. bars which indicate system status.
  9545. %g "2.4.4/2    +  Histograms (Step Charts)"
  9546.  
  9547. %p
  9548. Consider histograms (step charts), bar graphs without spaces between the
  9549. bars, when there are a great many entities or intervals to be plotted.
  9550.  
  9551. %p "Comment"
  9552. Histograms are often used to plot frequency data, i.e., the frequency of
  9553. observations for each of many intervals scaled along the X-axis.  For
  9554. such applications, a histogram will avoid the "picket fence" appearance
  9555. which might result from spaces between bars.
  9556. %g "2.4.4/3    Consistent Orientation of Bars"
  9557.  
  9558. %p
  9559. In a related series of bar graphs, adopt a consistent orientation for
  9560. bars displaying similar information, either vertical or horizontal.
  9561.  
  9562. %p "Example"
  9563. Vertical bars can be used to display frequency counts, size, cost, or a
  9564. large variety of other measured attributes.
  9565.  
  9566. %p "Example"
  9567. If bar length is used to represent time duration, then it might be more
  9568. appropriate to orient the bars horizontally, in accord with the general
  9569. convention of plotting time on the horizontal axis of a graph.
  9570.  
  9571. %p "Comment"
  9572. Consistent orientation will aid users in assimilating information from a
  9573. series of bar graphs.
  9574.  
  9575. %p "Comment"
  9576. Here the phrase "bar graph" is used to denote graphic displays in which
  9577. bars extend either horizontally or vertically.  Some designers
  9578. distinguish between these two alternatives, calling displays with
  9579. vertical bars "column charts".
  9580. %g "2.4.4/4    Bar Spacing"
  9581.  
  9582. %p
  9583. Space adjacent bars closely enough that a direct visual comparison can
  9584. be made without eye movement.
  9585.  
  9586. %p "Comment"
  9587. In this regard, some designers recommend that the spacing between bars
  9588. be less than the bar width.
  9589.  
  9590. %p "Comment"
  9591. If there are a great many bars to be displayed, then spacing will
  9592. produce an alternating pattern of bright and dark bands that could prove
  9593. visually disturbing, particularly for viewers with epileptic
  9594. vulnerability.  In such a case it might be better to display a histogram
  9595. with no spacing between bars.
  9596. %g "2.4.4/5    Reference Index"
  9597.  
  9598. %p
  9599. When the extent of displayed bars must be compared with some critical
  9600. value, include a reference index in the chart to aid that comparison.
  9601.  
  9602. %p "Example"
  9603. A horizontal line might be an adequate reference index for a vertical
  9604. bar graph.
  9605.  
  9606. %p "Example"
  9607. If bars are shown to monitor the pulse rates of patients under intensive
  9608. care, then two reference lines might be displayed to define an
  9609. acceptable zone.
  9610.  
  9611. %p "Comment"
  9612. Indexing may be complicated in situations where the displayed bars do
  9613. not represent a common measure.  In such a case, it might help to choose
  9614. (or devise) an index scheme so that bar lengths will fall in the same
  9615. zone under normal conditions, so that deviations in bar length will be
  9616. readily noticed by users who must monitor changing data.
  9617.  
  9618. %p "See also"
  9619. 2.4/7
  9620. %g "2.4.4/6    Highlighting"
  9621.  
  9622. %p
  9623. In a simple bar graph, if one bar represents data of particular
  9624. significance, highlight that bar.
  9625.  
  9626. %p "Example"
  9627. If one bar represents critical/discrepant data, that bar might be
  9628. displayed with different tonal coding, such as solid black rather than
  9629. cross-hatched (or vice versa).
  9630.  
  9631. %p "Exception"
  9632. If bar coding is already used for other purposes, such as to distinguish
  9633. among different sets of grouped bars, then no additional highlighting
  9634. code should be superimposed on the bars themselves; perhaps some other
  9635. means of highlighting (e.g., an arrow) might be adopted.
  9636.  
  9637. %p "See also"
  9638. 2.4/6 2.6/1
  9639. %g "2.4.4/7    Paired or Overlapped Bars"
  9640.  
  9641. %p
  9642. When paired measures from two data sets must be compared, consider
  9643. displaying each pair as contiguous or (partially) overlapped bars.
  9644.  
  9645. %p "Example"
  9646. A common application of paired data is the display of planned versus
  9647. actual quantities.
  9648.  
  9649. %p "Comment"
  9650. Paired bars will permit a direct visual comparison by the user.  When
  9651. more than two data sets must be compared, a display of grouped bars will
  9652. be less effective.  As the number of matched items becomes larger, it
  9653. might be better to display the data sets in separate bar graphs, or to
  9654. allow users to select different sets of data for simultaneous display.
  9655.  
  9656. %p "Comment"
  9657. In some applications, a good alternative might be to display directly
  9658. the difference between paired measures.  That is to say, a pair of bars
  9659. showing income and expenses might be converted to a single bar showing
  9660. the net difference: a "profit" bar might be displayed extending above a
  9661. "break-even" index line, and a "loss" might be displayed descending
  9662. below that line.
  9663.  
  9664. %p "Comment"
  9665. In a dynamic display where bar length may change while being displayed,
  9666. it will probably not be a good design choice to overlap the bars.
  9667.  
  9668. %p "See also"
  9669. 2.4.3/11
  9670. %g "2.4.4/8    +  Labeling Paired Bars"
  9671.  
  9672. %p
  9673. When bars are displayed in pairs, label the bars in one pair directly to
  9674. distinguish the two entities being compared, rather than displaying a
  9675. separate legend.
  9676.  
  9677. %p "Comment"
  9678. Direct labeling of bars will permit efficient information assimilation
  9679. by a user.  If the user has to refer to a separately displayed legend,
  9680. interpretation of the chart will be slower and more subject to error.
  9681.  
  9682. %p "Comment"
  9683. It will probably be sufficient to label just one pair of bars rather
  9684. than all of them.  Labels should have a conventional orientation for
  9685. reading text.  In a dynamic display where bar length may change while
  9686. being displayed, label position may have to change accordingly.
  9687.  
  9688. %p "See also"
  9689. 2.4/11
  9690. %g "2.4.4/9    Stacked or Segmented Bars"
  9691.  
  9692. %p
  9693. Consider stacked bars, in which differently coded segments are shown
  9694. cumulatively within a bar, when both the total measures and the portions
  9695. represented by the segments are of interest.
  9696. %g "2.4.4/10   +  Ordering Data in Stacked Bars"
  9697.  
  9698. %p
  9699. In stacked bars, order the data categories within each bar in the same
  9700. sequence, with the least variable categories displayed at the bottom and
  9701. the most variable at the top.
  9702.  
  9703. %p "Comment"
  9704. In effect, a series of stacked bars is analogous to the stacked curves
  9705. of a surface chart, and the same design considerations should apply.
  9706.  
  9707. %p "Comment"
  9708. Some designers recommend displaying the largest values as the bottom
  9709. segment.  Whatever logic is chosen should be maintained consistently
  9710. from one display to another.
  9711.  
  9712. %p "See also"
  9713. 2.4.3/13
  9714. %g "2.4.4/11   Restricted Use of Icons"
  9715.  
  9716. %p
  9717. Consider using iconic symbols of varying size (rather than simple bars)
  9718. to represent quantitative values in bar graphs only in special cases
  9719. when unambiguous icons can be provided and when no interpolation will be
  9720. necessary.
  9721.  
  9722. %p "Comment"
  9723. In general, use of icons to represent quantitative information, such as
  9724. when a silhouette of a person represents 1000 people in a graph, should
  9725. be avoided.  Icons are often ambiguous, and so must be explained
  9726. somewhere on the figure.  In addition, users will find it difficult to
  9727. interpolate using icons.  If a silhouetted person represents 1000
  9728. people, then how many people are represented by a silhouette showing
  9729. just two legs?
  9730.  
  9731. %p "Reference"
  9732. Wright 1977
  9733. %a "2.4.5  Graphics - Pie Charts"
  9734.  
  9735. %p
  9736. Pie charts show apportionment of a total into its component parts.
  9737. %g "2.4.5/1    Restricted Use of Pie Charts"
  9738.  
  9739. %p
  9740. Consider a pie chart only in special cases to show the relative
  9741. distribution of data among categories, i.e., for displaying data that
  9742. represent proportional parts of a whole; but note that a bar graph will
  9743. permit more accurate interpretation for such applications.
  9744.  
  9745. %p "Comment"
  9746. There are several significant limitations to a pie chart -- in itself it
  9747. provides no means of absolute measurement, it cannot represent totals
  9748. greater than 100 percent, and it can only represent a fixed point in
  9749. time.
  9750.  
  9751. %p "Comment"
  9752. Estimation of angular relations, as required in pie charts, is less
  9753. accurate than estimation of linear extent.  Pie charts may have artistic
  9754. merit in some applications, but will not support accurate assimilation
  9755. of data.
  9756.  
  9757. %p "Comment"
  9758. If pie charts are used, some designers recommend that partitioning be
  9759. limited to five segments or less.
  9760.  
  9761. %p "Comment"
  9762. Multiple pie charts will not permit accurate comparison of different
  9763. totals, although different-sized pies can be used to indicate gross
  9764. differences.  Stacked bar graphs will prove more effective for this
  9765. purpose and should be used when it is necessary to show proportions of
  9766. different totals.
  9767.  
  9768. %p "Reference"
  9769. Cleveland 1985
  9770.  
  9771. %p "See also"
  9772. 2.4.4/9
  9773. %g "2.4.5/2    Labeling Pie Charts"
  9774.  
  9775. %p
  9776. If pie charts are used, label the segments directly rather than by a
  9777. separate legend, in a normal orientation for reading text.
  9778.  
  9779. %p "See also"
  9780. 2.4/11
  9781. %g "2.4.5/3    +  Numeric Labels"
  9782.  
  9783. %p
  9784. If pie charts are used, add numbers to their segment labels to indicate
  9785. the percentage and/or absolute values represented in the display.
  9786.  
  9787. %p "Comment"
  9788. Because pie charts include no explicit reference scale or index, the
  9789. only way they can convey numeric values accurately is through their
  9790. labeling.
  9791. %g "2.4.5/4    Highlighting"
  9792.  
  9793. %p
  9794. If a particular segment of a pie chart requires emphasis, highlight it
  9795. by special hatching or shading and/or by "exploding" it, i.e.,
  9796. displacing it slightly from the remainder of the pie.
  9797.  
  9798. %p "See also"
  9799. 2.4/6 2.6/1
  9800. %a "2.4.6  Graphics - Pictures and Diagrams"
  9801.  
  9802. %p
  9803. Pictures and diagrams show relations among the various elements of
  9804. objects or processes.
  9805. %g "2.4.6/1    Pictures"
  9806.  
  9807. %p
  9808. Use pictorial displays in applications where it is necessary to show
  9809. accurately detailed representations of real or imaginary objects or
  9810. processes.
  9811.  
  9812. %p "Example"
  9813. Pictorial displays aid in the analysis of objects and events, as in the
  9814. case of photo interpretation.
  9815.  
  9816. %p "Example"
  9817. Pictorial displays support a variety of computer-aided design
  9818. applications, including the design of aircraft, artificial hearts,
  9819. automobiles, etc.
  9820.  
  9821. %p "Comment"
  9822. In some applications it may be possible for a computer to synthesize
  9823. pictorial displays from stored data.  This is true in computer-aided
  9824. design, where the computer must display a designed object that does not
  9825. yet exist.  For a map-reading task, a computer might synthesize
  9826. perspective views of terrain from topographic data, where real images
  9827. are not available.
  9828.  
  9829. %p "Comment"
  9830. For some information-handling tasks the display of detailed images
  9831. (photographs) will help users.  In other instances, simplified line
  9832. drawings may be more readily comprehended.
  9833.  
  9834. %p "Comment"
  9835. Dynamic display of "moving pictures" can exploit various animation
  9836. techniques to improve the pictorial representation of complex objects
  9837. and processes.
  9838.  
  9839. %p "Reference"
  9840. Foley Van Dam 1982
  9841. %g "2.4.6/2    Diagrams"
  9842.  
  9843. %p
  9844. Use diagrams to show spatial relations, with selective focus on the data
  9845. specifically required by a user's task, in applications where a full
  9846. pictorial rendering might be unnecessarily complicated.
  9847.  
  9848. %p "Example"
  9849. Diagrams are used to support many applications, ranging from mechanical
  9850. assembly/maintenance instruction to the representation of electronic
  9851. circuitry, or floor plans, or organizational hierarchies.
  9852.  
  9853. %p "Comment"
  9854. Diagrams are here considered a special form of picture.  Diagrams should
  9855. be kept as simple as possible, omitting unnecessary data.  A system
  9856. diagram for a subway engineer would have to be quite complex, showing
  9857. accurate distances and directions, and perhaps the relation between
  9858. subway sections and surface streets, utility lines, etc.  But a subway
  9859. diagram intended for a tourist might display simply the connecting links
  9860. between one station and another.
  9861.  
  9862. %p "See also"
  9863. 2.0/2 2.4/5
  9864. %g "2.4.6/3    Linking Sectional Diagrams"
  9865.  
  9866. %p
  9867. When diagrammed data exceed the capacity of a single display frame and
  9868. must be shown in separate sections, provide an overview for the diagram,
  9869. a consistent notation to indicate the logical linking of its various
  9870. sections, and an easy means for users to move from one section to
  9871. another.
  9872.  
  9873. %p "Example"
  9874. The sections of a diagram might be assigned letter codes, which could be
  9875. shown in the overview and at any internal branch points, and which could
  9876. be entered by a user to request the display of various sections.
  9877.  
  9878. %p "Comment"
  9879. General guidelines for linking sectional displays by paging/scrolling
  9880. are considered elsewhere under the topic of display framing.  The
  9881. concern here is to establish a coherent structure to show logical
  9882. relations among the separately displayed parts of a diagram.  The
  9883. solution may require internal notation and perhaps replication of some
  9884. portions of the diagram from one section to another.
  9885.  
  9886. %p "Comment"
  9887. An alternative approach might be to construct a hierarchic diagram with
  9888. a zooming capability to show greater detail.  That capability represents
  9889. a potential advantage of computer-generated electronic displays over
  9890. printed diagrams.
  9891.  
  9892. %p "See also"
  9893. 2.4/15 2.7.2
  9894. %g "2.4.6/4    Highlighting"
  9895.  
  9896. %p
  9897. If a picture or diagram contains data of particular significance,
  9898. implying a special need for user attention, highlight those data.
  9899.  
  9900. %p "Example"
  9901. Selected portions of pictures might be highlighted by adding a box
  9902. outline to the display, or perhaps a blinking arrow; diagram elements
  9903. might be highlighted by bolding or video reversal, or perhaps by color
  9904. coding.
  9905.  
  9906. %p "Example"
  9907. Highlighting might be used to indicate a computer analysis of design
  9908. deficiencies in a depicted object, or an assessment of damage when
  9909. monitoring a system that has been degraded in some way.
  9910.  
  9911. %p "See also"
  9912. 2.4/6 2.6/1
  9913. %g "2.4.6/5    Rotation"
  9914.  
  9915. %p
  9916. In an application where a user must examine a depicted object from
  9917. different viewpoints, allow the user to rotate its displayed image.
  9918.  
  9919. %p "Comment"
  9920. The axis of rotation will generally be the center of the depicted
  9921. object.  Where that is not the case, some indication of the rotation
  9922. axis should be displayed.  In some applications it might also help the
  9923. user to display some explicit separate indication ("gnomon") of the
  9924. degree of rotation and the current orientation of the depicted object.
  9925.  
  9926. %p "Comment"
  9927. In applications where a user must make a detailed comparison of two (or
  9928. more) displayed objects, it may be necessary to allow independent
  9929. rotation, translation and superposition of their images.
  9930.  
  9931. %p "Reference"
  9932. Foley Van Dam 1982
  9933. Foley Wallace Chan 1984
  9934. %g "2.4.6/6    Aids for Pictorial Analysis"
  9935.  
  9936. %p
  9937. When users must analyze pictorial images in detail, provide appropriate
  9938. computer aids for that purpose.
  9939.  
  9940. %p "Example"
  9941. For examining displayed surfaces, it might be helpful to allow a user to
  9942. specify/control the light source adopted for computer-generated images.
  9943.  
  9944. %p "Example"
  9945. For photo interpretation, computer processing can sometimes improve the
  9946. visual quality of stored images, as by edge enhancement.
  9947.  
  9948. %p "Example"
  9949. For examining the component structure of a complex object, as for an
  9950. assembly or maintenance task, it might be helpful to allow a user to
  9951. "explode" an aggregate display into its several elements.
  9952.  
  9953. %p "Example"
  9954. For examining the internal structure of a depicted object, it might be
  9955. helpful to allow a user to request auxiliary displays of specified
  9956. cross-sections or transect diagrams.
  9957.  
  9958. %p "Example"
  9959. For more detailed structural analysis of depicted objects, it might be
  9960. necessary to provide computer aids for calculating area, volume, center
  9961. of gravity, modes of vibration, stresses, heat transfer, etc.
  9962. %a "2.4.7  Graphics - Flowcharts"
  9963.  
  9964. %p
  9965. Flowcharts are diagrams that illustrate sequential relations among
  9966. elements or events.
  9967. %g "2.4.7/1    Flowcharts"
  9968.  
  9969. %p
  9970. Consider flowcharts for schematic representation of sequence
  9971. information, i.e., to display data that are logically related in terms
  9972. of sequential processes.
  9973.  
  9974. %p "Example"
  9975. Flow charts are frequently used for process control, project scheduling,
  9976. and other similar applications.
  9977. %g "2.4.7/2    +  Flowcharts to Aid Problem Solving"
  9978.  
  9979. %p
  9980. Consider providing a flowchart to aid problem solving when a solution
  9981. can be reached by answering a series of questions, and when no tradeoffs
  9982. will be required.
  9983.  
  9984. %p "Example"
  9985. In process control, a flowchart might aid problem diagnosis when a user
  9986. must determine the cause of abnormal conditions and take appropriate
  9987. action.
  9988.  
  9989. %p "Comment"
  9990. A flowchart can add structure to complex problem solving by illustrating
  9991. a set of discrete decision points.  With such a flowchart, a user is
  9992. given specific steps to follow in solving a problem, helping to ensure
  9993. that all relevant factors are considered.  For simple problems, however,
  9994. a tabular or text format may be read more quickly than a flowchart.
  9995.  
  9996. %p "Comment"
  9997. Flowcharts are not useful when a user must make tradeoffs.  For example,
  9998. if a user must evaluate alternative outcomes if s/he could invest more
  9999. money or could accept lower quality, then using a flowchart would be
  10000. cumbersome and time consuming.  When a user must evaluate alternatives,
  10001. a tabular format may be more efficient.
  10002.  
  10003. %p "Reference"
  10004. Wright 1977
  10005. %g "2.4.7/3    Logical Ordering of Steps"
  10006.  
  10007. %p
  10008. Design flowcharts so that their displayed steps follow some logical
  10009. order.
  10010.  
  10011. %p "Example"
  10012. When a flowchart displays some sequential process, then display the
  10013. steps in the order of that sequence.
  10014.  
  10015. %p "Example"
  10016. When a flowchart is provided as a problem solving aid, then steps might
  10017. be ordered by importance, where those decisions which will have the
  10018. largest impact on the final problem solution are made first, or ordered
  10019. by certainty, where decisions which can be made with the most certainty
  10020. are made first.
  10021.  
  10022. %p "Reference"
  10023. Wright 1977
  10024. %g "2.4.7/4    +  Ordering to Minimize Path Length"
  10025.  
  10026. %p
  10027. When there is no inherently logical order to the steps in a flowchart,
  10028. order them to minimize flowchart size, i.e., to minimize average path
  10029. length.
  10030.  
  10031. %p "Comment"
  10032. Flowchart size can sometimes be reduced by placing first those steps
  10033. that represent binary decisions.
  10034.  
  10035. %p "Comment"
  10036. When all decision options are not equally probable, consider minimizing
  10037. the length of the most likely path, i.e., that most frequently followed,
  10038. rather than minimizing the overall size of the flowchart.
  10039.  
  10040. %p "Reference"
  10041. Wright 1977
  10042. %g "2.4.7/5    +  Conventional Path Orientation"
  10043.  
  10044. %p
  10045. Design flowcharts so that the path of the logical sequence is consistent
  10046. with familiar orientation conventions, i.e., from left to right (for
  10047. users accustomed to reading English) and from top to bottom, or perhaps
  10048. clockwise.
  10049.  
  10050. %p "Reference"
  10051. Krohn 1983
  10052. %g "2.4.7/6    Consistent Coding of Elements"
  10053.  
  10054. %p
  10055. When it is necessary to distinguish different types of flowchart
  10056. elements, adopt a consistent coding scheme for that purpose.
  10057.  
  10058. %p "Example"
  10059. Shape coding of "boxes" in a flowchart is commonly used to indicate the
  10060. different user actions in an operational sequence diagram that displays
  10061. the results of task analysis.
  10062.  
  10063. %p "Comment"
  10064. Flowchart coding within any system should conform to established
  10065. conventions and user expectations, with some flexibility to meet
  10066. changing user requirements.  For some applications, such as the
  10067. operational sequence diagrams noted in the example above, flowcharts may
  10068. have to meet normative standards established across systems.
  10069.  
  10070. %p "Reference"
  10071. Geer 1981
  10072. %g "2.4.7/7    +  Conventional Use of Arrows"
  10073.  
  10074. %p
  10075. In flow charts and other graphics displays, use arrows in a conventional
  10076. fashion to indicate directional relations in the sequential links
  10077. between various elements.
  10078. %g "2.4.7/8    Highlighting"
  10079.  
  10080. %p
  10081. If one element in a flowchart represents data of particular
  10082. significance, implying a special need for user attention, highlight that
  10083. element.
  10084.  
  10085. %p "Example"
  10086. Line coding by color or bolding might be used to highlight displayed
  10087. paths, and/or the boxes or other graphic elements representing displayed
  10088. states.
  10089.  
  10090. %p "Example"
  10091. Highlighting might be used to distinguish scheduled vs.  actual
  10092. accomplishment, emphasizing critical time delays, cost overruns, or
  10093. other discrepant conditions.
  10094.  
  10095. %p "Example"
  10096. As a cautionary example, the flowchart instructions for cleaning an
  10097. electric lawnmower might highlight a box which says "unplug it before
  10098. touching the blade".
  10099.  
  10100. %p "Comment"
  10101. Color coding may be particularly appropriate in flowcharts, because of
  10102. the effective primacy of color for guiding the visual scanning required
  10103. to trace paths.
  10104.  
  10105. %p "See also"
  10106. 2.4/6 2.6/1
  10107. %g "2.4.7/9    Single Decision at Each Step"
  10108.  
  10109. %p
  10110. When a flowchart is designed so that a user must make decisions at
  10111. various steps, require only a single decision at each step, rather than
  10112. combining decisions to reduce flowchart size.
  10113.  
  10114. %p "Comment"
  10115. Combining decisions in a single step, such as asking
  10116.  
  10117.    | Does the temperature exceed 500 0C and the pressure |
  10118.    | exceed 2250 psi?                                    |
  10119.  
  10120. may save space.  But such a choice might confuse a user who will be
  10121. uncertain what path to follow if a situation meets only one of the
  10122. combined criteria, i.e., in this example, if the temperature is above
  10123. 500 but the pressure is below 2250.
  10124.  
  10125. %p "Reference"
  10126. Wright 1977
  10127. %g "2.4.7/10   Logical Ordering of Options"
  10128.  
  10129. %p
  10130. When a flowchart is designed so that a user must make decisions at
  10131. various steps, display the available options in some logical order.
  10132.  
  10133. %p "Example"
  10134.  (Good) | Temperature at inlet valve (0F):  |
  10135.         |  h = more than 400                |
  10136.         |  a = 300-400                      |
  10137.         |  l = less than 300                |
  10138.  
  10139.  (Bad)  | Temperature at inlet valve (0F):  |
  10140.         |  a = 300-400                      |
  10141.         |  h = more than 400                |
  10142.         |  l = less than 300                |
  10143.  
  10144. %p "Example"
  10145. If options represent stages of a process, those stages should be listed
  10146. in the order in which they would actually occur.
  10147.  
  10148. %p "Comment"
  10149. The ordering of options should not be determined merely by the amount of
  10150. space that is conveniently available to display them.
  10151. %g "2.4.7/11   +  Consistent Ordering of Options"
  10152.  
  10153. %p
  10154. When a flowchart is designed so that a user must make decisions at
  10155. various steps, display the available options in some consistent order
  10156. from step to step.
  10157.  
  10158. %p "Example"
  10159. "Yes" might always be on the left and "no" on the right.
  10160.  
  10161. %p "Comment"
  10162. The point here is that for options which have no inherently logical
  10163. order, some order should be consistently imposed.  Consistent ordering
  10164. will permit a user to review a flowchart more quickly.
  10165. %g "2.4.7/12   +  Consistent Wording"
  10166.  
  10167. %p
  10168. Choose some consistent format for wording the options displayed at the
  10169. decision points in a flowchart.
  10170.  
  10171. %p "Example"
  10172. Decision options might be worded as questions, such as
  10173.  
  10174.    | Will this car be driven more than 100 miles a week? |
  10175.  
  10176. or worded as statements listing options, such as
  10177.  
  10178.    | Car will be driven:              |
  10179.    |  h = more than 50 miles per week |
  10180.    |  a = 25 to 50 miles per week     |
  10181.    |  l = less than 25 miles per week |
  10182.  
  10183. %p "Comment"
  10184. Sometimes it may not be possible to use a consistent format for
  10185. displaying options.  However, the more consistent a flowchart can be
  10186. made in format and wording, the easier it will be to understand and use.
  10187. %a "2.4.8  Graphics - Maps and Situation Displays"
  10188.  
  10189. %p
  10190. Maps and situation displays are a form of diagram showing geographic
  10191. relations among objects or events.
  10192. %g "2.4.8/1    Maps"
  10193.  
  10194. %p
  10195. Provide maps to display geographic data, i.e., direction and distance
  10196. relations among physical locations.
  10197.  
  10198. %p "Comment"
  10199. Here the term "map" refers to the display of relatively stable
  10200. geographic data, or the display of slowly changing data such as weather.
  10201. When mapped data change more quickly, as in the display of aircraft
  10202. tracks for air traffic control, those diagrams are called "situation
  10203. displays".  Design recommendations for maps will generally pertain also
  10204. to situation displays.
  10205.  
  10206. %p "See also"
  10207. 2.4.8/15
  10208. %g "2.4.8/2    Consistent Orientation"
  10209.  
  10210. %p
  10211. When several different maps will be displayed, adopt a consistent
  10212. orientation so that the top of each map will always represent the same
  10213. direction.
  10214.  
  10215. %p "Example"
  10216. In common use, most maps are oriented so that North is upward.
  10217. %g "2.4.8/3    Consistent Projection"
  10218.  
  10219. %p
  10220. When maps represent large geographic areas, adopt a consistent method of
  10221. projecting the earth's curvature on the flat display surface.
  10222.  
  10223. %p "Comment"
  10224. For large areas, any method of projection will introduce some distortion
  10225. of apparent distances in the display.  The projection used should be one
  10226. which minimizes the practical effects of that distortion for the
  10227. application at hand.  If a selected method of map projection is used
  10228. consistently, viewers can learn to compensate in some degree for the
  10229. distortion it introduces.
  10230.  
  10231. %p "Reference"
  10232. Hopkin Taylor 1979
  10233. %g "2.4.8/4    Labeling Maps"
  10234.  
  10235. %p
  10236. Label significant features of a map directly in the display, when that
  10237. can be done without cluttering the display.
  10238.  
  10239. %p "Comment"
  10240. When labeling and other desired annotation are too extensive to
  10241. incorporate in the map itself, that material might be shown in some
  10242. separate, peripheral area of the display.  In that case, auxiliary
  10243. coding might be used to link annotation with associated map features,
  10244. e.g., by matching symbol codes.
  10245.  
  10246. %p "Comment"
  10247. An alternative to fixed labeling would be to permit user interaction
  10248. with computer-generated graphic displays.  If a user selected a mapped
  10249. point, a label might be temporarily displayed.  If a user selected a
  10250. marginal label, its associated map location might be highlighted.
  10251.  
  10252. %p "Comment"
  10253. With interactive graphics, it may be possible to design maps with
  10254. hierarchic levels of portrayed detail and labeling, so that a user can
  10255. "zoom in" to examine an area in greater detail or "zoom out" for an
  10256. aggregated overview.
  10257.  
  10258. %p "See also"
  10259. 2.4/10 2.4/11
  10260. %g "2.4.8/5    +  Consistent Positioning of Labels"
  10261.  
  10262. %p
  10263. Position labels on a map consistently in relation to the displayed
  10264. features they designate.
  10265.  
  10266. %p "Example"
  10267. The names of cities and towns might always be placed immediately above
  10268. the corresponding symbols showing their locations.
  10269.  
  10270. %p "Comment"
  10271. As a practical matter, map displays can get very crowded.  It may not
  10272. always prove feasible to maintain a consistent placement for labels,
  10273. with the result that designers will be tempted to put labels wherever
  10274. they will fit.  In such a crowded display, labels may obscure map
  10275. features, and vice versa.  Locating and reading labels will be slowed,
  10276. particularly when map features are displayed closely adjacent to the
  10277. beginning of labels.  Under these circumstances, some other approach to
  10278. map labeling should be considered to avoid crowding.
  10279.  
  10280. %p "Reference"
  10281. Noyes 1980
  10282. %g "2.4.8/6    Area Coding"
  10283.  
  10284. %p
  10285. When different areas of a map must be defined, or when the geographic
  10286. distribution of a particular variable must be indicated, consider the
  10287. use of texture patterns or color or tonal codes for that purpose.
  10288.  
  10289. %p "Example"
  10290. Coding might help define different areas of interest, such as the
  10291. Eastern, Central, Mountain and Pacific time zones on a map of the United
  10292. States, or perhaps areas of current rainfall on a weather map.
  10293.  
  10294. %p "Example"
  10295. Area coding might be used to indicate a geographic variable such as
  10296. elevation or a demographic variable such as population.
  10297.  
  10298. %p "Comment"
  10299. In many applications it may be desirable to limit area coding to one
  10300. variable in order to assure effective information assimilation, in which
  10301. case a designer should select that variable which is most significant.
  10302. Another approach might be to allow a user to specify which variable will
  10303. be coded on a map and to change that selection at will depending upon
  10304. current task requirements.  In some special applications, however, it
  10305. may be feasible to superimpose several kinds of area coding to permit
  10306. multivariate data analysis by skilled users.
  10307.  
  10308. %p "See also"
  10309. 2.6
  10310. %g "2.4.8/7    +  Tonal Codes"
  10311.  
  10312. %p
  10313. Where users must make relative judgments for different colored areas of
  10314. a display, consider employing tonal codes (different shades of one
  10315. color) rather than spectral codes (different colors).
  10316.  
  10317. %p "Example"
  10318. For reading topographic maps, tonal variation might be used to show the
  10319. relative height of displayed areas, perhaps with darker hues used to
  10320. code greater heights.
  10321.  
  10322. %p "Comment"
  10323. This recommendation represents an exception to other guidelines
  10324. advocating distinctive code values.  Coding by tonal variation should be
  10325. considered only for applications where perception of relative
  10326. differences along a single dimension is more important than perception
  10327. of absolute values.
  10328.  
  10329. %p "Comment"
  10330. People can order categories along a continuous dimension to match tonal
  10331. variations in one color, whereas people do not have a natural means of
  10332. ordering different colors.
  10333.  
  10334. %p "Comment"
  10335. This recommendation is based on research with layer tints on printed
  10336. displays.  Some testing may be required to determine whether a
  10337. particular electronic display permits effective variation in color
  10338. tones.
  10339.  
  10340. %p "Reference"
  10341. Phillips 1982
  10342.  
  10343. %p "See also"
  10344. 2.6/24
  10345. %g "2.4.8/8    +  Ordered Coding"
  10346.  
  10347. %p
  10348. Where different areas of a map are coded by texture patterns or tonal
  10349. variation, order the assigned code values so that the darkest and
  10350. lightest shades correspond to the extreme values of the coded variable.
  10351.  
  10352. %p "Example"
  10353. For indicating the height of mapped terrain, dark shades might be used
  10354. for high elevations and light shades for low.
  10355.  
  10356. %p "Comment"
  10357. Orderly assignment of code values will help users perceive and remember
  10358. the categories represented by the code.
  10359. %g "2.4.8/9    Highlighting"
  10360.  
  10361. %p
  10362. If one area in a map represents data of particular significance,
  10363. implying a special need for user attention, highlight that area.
  10364.  
  10365. %p "Example"
  10366. On a weather map, special area coding might be used to indicate severe
  10367. storm conditions.
  10368.  
  10369. %p "See also"
  10370. 2.4/6
  10371. %g "2.4.8/10   Panning for Flexible Display Framing"
  10372.  
  10373. %p
  10374. When a map exceeds the capacity of a single display frame, in terms of
  10375. the required extent and detail of coverage, consider providing users a
  10376. capability to pan the display frame over the mapped data in order to
  10377. examine different areas of current interest.
  10378.  
  10379. %p "Comment"
  10380. General guidelines for viewing different parts of an extended display by
  10381. paging or panning/scrolling are considered elsewhere under the topic of
  10382. display framing.  Panning will permit users to move continuously over a
  10383. map in any desired direction, without encountering any internal
  10384. boundaries imposed by predefined display framing.
  10385.  
  10386. %p "Comment"
  10387. An alternative approach might be to define various sections of a large
  10388. map and link those sections by the same techniques used for linking
  10389. sections of a large diagram.  One risk in that approach is that an area
  10390. of interest might be at a boundary where none of the sectional maps
  10391. provide adequate coverage.  Thus some degree of overlapped coverage is
  10392. probably needed at the boundaries of displayed map sections.
  10393.  
  10394. %p "See also"
  10395. 2.4.6/3 2.7.2/12
  10396. %g "2.4.8/11   +  Show Overview Position of Visible Section"
  10397.  
  10398. %p
  10399. When a user pans over an extended display in order to view different
  10400. sections, provide some graphic indicator of the position in the overall
  10401. display of the visible section.
  10402.  
  10403. %p "Example"
  10404. In a corner of a panned display, the computer might show a rectangle
  10405. representing the overall display, in which a smaller rectangle is placed
  10406. to indicate the position and extent of the currently visible portion of
  10407. that display.
  10408.  
  10409. %p "Comment"
  10410. While panning across a map, moving from one section to another, a user
  10411. may lose track of what is being displayed, and be uncertain how to move
  10412. in order to see some other area of interest.  An indicator of current
  10413. position will help maintain user orientation.
  10414.  
  10415. %p "See also"
  10416. 2.4/17 2.7.2/15
  10417. %g "2.4.8/12   Aiding Distance Judgments"
  10418.  
  10419. %p
  10420. When a user must judge distances accurately on a map or other graphic
  10421. display, provide computer aids for that judgment.
  10422.  
  10423. %p "Comment"
  10424. Some designers display for this purpose a movable grid whose scale is
  10425. controlled automatically by the computer depending upon current map
  10426. expansion.  Some designers have suggested that the grid might consist of
  10427. a vertical and a horizontal line displayed across a series of concentric
  10428. range rings.  It might be more helpful to display a scaled line (ruler)
  10429. that a user could move to intercept any two displayed points directly.
  10430.  
  10431. %p "Comment"
  10432. For exact measurement, it might be better to allow a user to select
  10433. (point at) any two points and have the computer "read-out" their
  10434. separation distance directly.  The same technique might be used to
  10435. determine the direction (bearing) between two points.
  10436. %g "2.4.8/13   Aids for Analyzing Maps"
  10437.  
  10438. %p
  10439. When the use of mapped data may be complex, provide computer aids for
  10440. data analysis.
  10441.  
  10442. %p "Example"
  10443. In topographic analysis, computers might analyze contour data at
  10444. different sites to calculate slopes and sun exposure for land use
  10445. planning, or might calculate sight angles to determine radar coverage
  10446. from different locations, etc.
  10447. %g "2.4.8/14   Mapping Nongeographic Data"
  10448.  
  10449. %p
  10450. In applications where the geographic distribution of nongeographic data
  10451. must be displayed, consider adding other graphic elements to a map for
  10452. that purpose.
  10453.  
  10454. %p "Example"
  10455. A symbol might be displayed in different sizes to indicate a particular
  10456. measure in different localities, such as average population age, or
  10457. average annual rainfall, or incidence of a particular disease.
  10458.  
  10459. %p "Example"
  10460. Small stacked bars might be superimposed on the different areas of a map
  10461. to indicate the local distribution of some data measure, such as
  10462. population distribution by age, education, or income.
  10463.  
  10464. %p "Comment"
  10465. Alphanumeric characters might be added to a map to show data, but those
  10466. will not aid a direct visual comparison across areas in the same way
  10467. that graphic symbols can do.  Moreover alphanumeric data may be confused
  10468. with labels and other kinds of annotation.
  10469. %g "2.4.8/15   Situation Displays"
  10470.  
  10471. %p
  10472. When it is necessary to show the geographic location of changing events,
  10473. which is often the case for monitoring real situations, combine event
  10474. data with a map background.
  10475.  
  10476. %p "Example"
  10477. A display for air traffic control might superimpose aircraft tracks on a
  10478. background of geographic coordinates, with supplementary annotation
  10479. and/or coding to indicate track identification, speed, heading,
  10480. altitude, etc.
  10481. %g "2.4.8/16   Indicating Data Change"
  10482.  
  10483. %p
  10484. When changes in mapped data are significant for a user's task, include
  10485. auxiliary graphic elements to indicate those changes.
  10486.  
  10487. %p "Example"
  10488. Auxiliary coding might be needed to indicate the movement of storm
  10489. fronts on a weather map.
  10490.  
  10491. %p "Comment"
  10492. In dynamic maps, i.e., situation displays, data changes involving
  10493. movement can be shown directly.  On static displays, arrows can be added
  10494. to indicate the direction of movement of mapped elements.  Where
  10495. movement over an extended area must be represented, as in showing
  10496. weather fronts, directional "pips" can be added to displayed contour
  10497. lines.  Some designers recommend that such pips should be displayed one
  10498. to two times as large as alphanumeric characters, and that pip spacing
  10499. should be five to ten times the pip width.
  10500.  
  10501. %p "See also"
  10502. 2.6/20 2.7.3/4
  10503. %g "2.4.8/17   Selectable Data Categories"
  10504.  
  10505. %p
  10506. If the particular data categories required at different stages in a
  10507. user's job cannot be exactly predicted, allow the user to select the
  10508. categories needed for any information handling task.
  10509.  
  10510. %p "Example"
  10511. In monitoring aircraft separation for collision avoidance, a user might
  10512. choose to display selectively the aircraft tracks within a particular
  10513. altitude zone.
  10514.  
  10515. %p "Example"
  10516. To help identify an unrecognized aircraft track, a user might choose to
  10517. add flight plan data temporarily to an air traffic display.
  10518.  
  10519. %p "Comment"
  10520. This recommendation does not lessen the designer's responsibility for
  10521. determining user needs.  Where user information requirements can be
  10522. defined, displays should be designed to provide necessary data.  User
  10523. selection from available data categories may represent desirable
  10524. flexibility to meet changing task requirements.  However, there is a
  10525. risk of "data indigestion" if a user selects the wrong categories or too
  10526. many categories.
  10527.  
  10528. %p "Comment"
  10529. Categories of selectable data might include relatively stable elements
  10530. (e.g., defined flight paths, zones of radar coverage, etc.) as well as
  10531. the variable elements that represent changing data (e.g., aircraft
  10532. tracks).
  10533.  
  10534. %p "Comment"
  10535. If auxiliary coding is adopted for different data categories, such as
  10536. shape coding of symbols, code values should be chosen to be distinctive
  10537. for any likely combination of displayed categories.
  10538.  
  10539. %p "Comment"
  10540. Users should be provided a ready reminder of what data categories are
  10541. available, and an easy means of selecting (or suppressing) displayed
  10542. categories.  This implies category selection by menu or function keys.
  10543.  
  10544. %p "See also"
  10545. 2.7.1/5
  10546. %g "2.4.8/18   Stable Reference for Changing Data"
  10547.  
  10548. %p
  10549. When graphic data are changing and displays are automatically updated,
  10550. provide some stable display elements, e.g., coordinates, geographic
  10551. boundaries, etc.
  10552.  
  10553. %p "Example"
  10554. For vehicular control, a common display convention is to depict a moving
  10555. element (aircraft) against a fixed background (horizon).
  10556.  
  10557. %p "Comment"
  10558. Stable display elements provide a frame of reference to help users
  10559. assimilate and interpret data changes.
  10560.  
  10561. %p "Comment"
  10562. Moving data may overlay and temporarily obscure other display elements,
  10563. such as fixed background data.  When that happens, the display update
  10564. logic must determine which data categories have priority on the display
  10565. and which may be obscured by others, and should restore the obscured
  10566. elements when the overlaid data moves away, and should further ensure
  10567. that no data are erased from the display in the process of obscuring and
  10568. restoring data.
  10569.  
  10570. %p "See also"
  10571. 2.7.3/1
  10572. %a "2.5    Format"
  10573.  
  10574. %p
  10575. Format refers to the organization of different types of data in a
  10576. display to aid assimilation of information.
  10577. %g "2.5/1      Consistent Format"
  10578.  
  10579. %p
  10580. Adopt a consistent organization for the location of various display
  10581. features from one display to another.
  10582.  
  10583. %p "Example"
  10584. One location might be used consistently for a display title, another
  10585. area might be reserved for data output by the computer, and other areas
  10586. dedicated to display of control options, instructions, error messages,
  10587. and user command entry.
  10588.  
  10589. %p "Exception"
  10590. It might be desirable to change display formats in some distinctive way
  10591. to help a user distinguish one task or activity from another, but the
  10592. displays of any particular type should still be formatted consistently
  10593. among themselves.
  10594.  
  10595. %p "Comment"
  10596. The objective is to develop display formats that are consistent with
  10597. accepted usage and existing user habits.  Consistent display formats
  10598. will help establish and preserve user orientation.  There is no fixed
  10599. display format that is optimum for all data handling applications, since
  10600. applications will vary in their requirements.  However, once a suitable
  10601. format has been devised, it should be maintained as a pattern to ensure
  10602. consistent design of other displays.
  10603.  
  10604. %p "Reference"
  10605. BB 1.1 1.8.5
  10606. EG 2.2.5 2.3 2.3.3
  10607. MS 5.15.3.2.1 5.15.3.3.4
  10608. Foley Van Dam 1982
  10609. Stewart 1980
  10610.  
  10611. %p "See also"
  10612. 4.0/6
  10613. %g "2.5/2      Distinctive Display Elements"
  10614.  
  10615. %p
  10616. Make the different elements of a display format distinctive from one
  10617. another.
  10618.  
  10619. %p "Example"
  10620. Different display areas ("windows") can be separated by spacing (where
  10621. space permits); outlining can also be used to separate different areas,
  10622. so that displayed data, control options, instructions, etc., are
  10623. distinct from each other.
  10624.  
  10625. %p "Reference"
  10626. EG 2.3
  10627. MS 5.15.3.1.5
  10628. Stewart 1980
  10629.  
  10630. %p "See also"
  10631. 3.0/8 4.0/8
  10632. %g "2.5/3      +  Spacing to Structure Displays"
  10633.  
  10634. %p
  10635. Use blank space to structure a display.
  10636.  
  10637. %p "Comment"
  10638. Closely packed data are difficult to locate and difficult to read.  Thus
  10639. blank space can be used to advantage to separate different groups of
  10640. data.  Related data items within a group, however, should be displayed
  10641. close enough to minimize eye movement time in scanning those data.
  10642.  
  10643. %p "Reference"
  10644. Tullis 1983
  10645. %g "2.5/4      Paging Crowded Displays"
  10646.  
  10647. %p
  10648. When a display contains too much data for presentation in a single
  10649. frame, partition the data into separately displayable pages.
  10650.  
  10651. %p "Comment"
  10652. And provide convenient control procedures to allow users to move easily
  10653. from one page to another.
  10654.  
  10655. %p "Reference"
  10656. BB 4.4.1 4.4.2
  10657. Stewart 1980
  10658.  
  10659. %p "See also"
  10660. 2.7.2/6
  10661. %g "2.5/5      +  Related Data on Same Page"
  10662.  
  10663. %p
  10664. When partitioning displays into multiple pages, take into account the
  10665. type of data, and display functionally related data items together on
  10666. one page.
  10667.  
  10668. %p "Comment"
  10669. This recommendation is easily followed for text displays, involving
  10670. primarily the elimination of "widows", considerate placement of
  10671. illustrations, etc.  For displayed data forms and tables, data grouping
  10672. and continuation of headers must be considered.  The partitioning of
  10673. graphics displays may require radical redesign.
  10674. %g "2.5/6      +  Page Labeling"
  10675.  
  10676. %p
  10677. In a multipage display label each page to show its relation to the
  10678. others.
  10679.  
  10680. %p "See also"
  10681. 2.7.2/5 2.7.2/6 4.2/7
  10682. %g "2.5/7      Integrated Display"
  10683.  
  10684. %p
  10685. When coherent display is required to aid user perception of relations
  10686. among data sets, provide those data in an integrated display rather than
  10687. partitioning them into separate windows.
  10688.  
  10689. %p "Reference"
  10690. EG 2.3.2
  10691.  
  10692. %p "See also"
  10693. 2.7.2/1
  10694. %g "2.5/8      User-Defined Data Windows"
  10695.  
  10696. %p
  10697. When the need to view several different kinds of data jointly cannot be
  10698. determined in advance, allow a user to define and select separate data
  10699. windows that will share a single display frame.
  10700.  
  10701. %p "Comment"
  10702. Depending upon user needs (and system capability), data windows might
  10703. appear simultaneously as segments of a joint display, might be overlaid
  10704. in varying degrees so as to obscure one another, or might be displayed
  10705. sequentially at the user's option.  In the latter condition, multiple
  10706. display windows will differ little from multiple display pages, except
  10707. perhaps in speed of sequential access.
  10708.  
  10709. %p "See also"
  10710. 2.7.5/3
  10711. %g "2.5/9      +  Adequate Window Size"
  10712.  
  10713. %p
  10714. When a display window must be used for data scanning, ensure that the
  10715. window can display more than one line of data.
  10716.  
  10717. %p "Reference"
  10718. Elkerton Williges Pittman Roach 1982
  10719. %g "2.5/10     Display Title at Top"
  10720.  
  10721. %p
  10722. Begin every display at the top with a title or header, describing
  10723. briefly the contents or purpose of the display; leave at least one blank
  10724. line between the title and the body of the display.
  10725.  
  10726. %p "Reference"
  10727. BB 1.1.1 Table 1
  10728. PR 4.5.2
  10729.  
  10730. %p "See also"
  10731. 4.2/6
  10732. %g "2.5/11     Command Entry, Prompts, Messages at Bottom"
  10733.  
  10734. %p
  10735. Reserve the last several lines at the bottom of every display for status
  10736. and error messages, prompts, and command entry.
  10737.  
  10738. %p "Comment"
  10739. Assuming that the display is mounted physically above the keyboard,
  10740. which is the customary placement, a user can look back and forth from
  10741. keyboard to display more easily when prompts and command entry area are
  10742. at the bottom of the display.
  10743.  
  10744. %p "Comment"
  10745. As a corollary to this recommendation, when separate command sets are
  10746. associated with different display windows, such as options for display
  10747. control (size of the window, positioning, etc.), those should be shown
  10748. at the bottom of each window.
  10749.  
  10750. %p "Reference"
  10751. PR 4.5.3
  10752. Granda Teitelbaum Dunlap 1982
  10753.  
  10754. %p "See also"
  10755. 3.1.5/2 4.0/7
  10756. %g "2.5/12     Logical Data Organization"
  10757.  
  10758. %p
  10759. Ensure that displays are formatted to group data items on the basis of
  10760. some logical principle, considering trade-offs derived from task
  10761. analysis.
  10762.  
  10763. %p "Reference"
  10764. BB 1.8.1
  10765. %g "2.5/13     +  Grouping for Data Comparison"
  10766.  
  10767. %p
  10768. If users must analyze sets of data to discern similarities, differences,
  10769. trends, and relationships, structure the display format so that the data
  10770. are consistently grouped.
  10771.  
  10772. %p "Example"
  10773.  (Good)   | Cost                  Output            |
  10774.           | Actual  Predicted     Actual  Predicted |
  10775.           |                                         |
  10776.           | 947     901            83      82       |
  10777.           | 721     777            57      54       |
  10778.           | 475     471            91      95       |
  10779.  
  10780.  (Bad)    | Cost                  Output            |
  10781.           | Actual  Predicted     Predicted  Actual |
  10782.           |                                         |
  10783.           | 947     901            82        83     |
  10784.           | 721     777            54        57     |
  10785.           | 475     471            95        91     |
  10786.  
  10787. %p "Reference"
  10788. BB 1.8.6
  10789. Tullis 1981
  10790. %g "2.5/14     +  Data Grouped by Sequence of Use"
  10791.  
  10792. %p
  10793. Where displayed data are used in some spatial or temporal order,
  10794. consider grouping those data by sequence of use to preserve that order.
  10795.  
  10796. %p "Example"
  10797. Data in an electronic display should match the order of items in an
  10798. associated paper data form.
  10799.  
  10800. %p "Reference"
  10801. BB 1.8.2
  10802. PR 4.10.7
  10803.  
  10804. %p "See also"
  10805. 1.4/25 1.4/27 2.4.7/5
  10806. %g "2.5/15     +  Data Grouped by Function"
  10807.  
  10808. %p
  10809. Where sets of data are associated with particular questions or related
  10810. to particular functions, consider grouping each set together to help
  10811. illustrate those functional relationships.
  10812.  
  10813. %p "Reference"
  10814. BB 1.8.2
  10815. Tullis 1981
  10816. %g "2.5/16     +  Data Grouped by Importance"
  10817.  
  10818. %p
  10819. Where some displayed data items are particularly important, i.e.,
  10820. provide significant information and/or require immediate user response,
  10821. consider grouping those items at the top of the display.
  10822.  
  10823. %p "Reference"
  10824. BB 1.8.2
  10825. Tullis 1981
  10826. %g "2.5/17     +  Data Grouped by Frequency"
  10827.  
  10828. %p
  10829. Where some data items are used more frequently than others, consider
  10830. grouping those items at the top of the display.
  10831.  
  10832. %p "Comment"
  10833. Principles of data grouping also apply to the display/listing of control
  10834. options.
  10835.  
  10836. %p "Comment"
  10837. These recommendations for data grouping in display formatting follow
  10838. familiar human engineering principles for display/control layout in
  10839. equipment design.
  10840.  
  10841. %p "Reference"
  10842. BB 1.8.2
  10843.  
  10844. %p "See also"
  10845. 3.1.3/21
  10846. %g "2.5/18     +  Data Grouped Alphabetically or Chronologically"
  10847.  
  10848. %p
  10849. When there is no appropriate logic for grouping data by sequence,
  10850. function, frequency or importance, adopt some other principle such as
  10851. alphabetical or chronological grouping.
  10852.  
  10853. %p "Reference"
  10854. BB 1.8.1
  10855.  
  10856. %p "See also"
  10857. 2.1/23
  10858. %a "2.6    Coding"
  10859.  
  10860. %p
  10861. Coding refers to distinctive means for highlighting different categories
  10862. of displayed data for user attention.
  10863. %g "2.6/1      Highlighting Critical Data"
  10864.  
  10865. %p
  10866. Provide distinctive coding to highlight important display items
  10867. requiring user attention, particularly when those items are displayed
  10868. infrequently.
  10869.  
  10870. %p "Example"
  10871. Such items might include recently changed data, or discrepant data
  10872. exceeding acceptable limits, or data failing to meet some other defined
  10873. criteria.
  10874.  
  10875. %p "Comment"
  10876. "Highlight" is used here in its general sense, meaning to emphasize or
  10877. make prominent, and is not restricted to any particular method of
  10878. display coding such as brightening or inverse video.
  10879.  
  10880. %p "Comment"
  10881. Highlighting is most effective when used sparingly, adding emphasis to a
  10882. display which is relatively uniform in appearance except for just a few
  10883. highlighted items.
  10884.  
  10885. %p "Comment"
  10886. For some purposes position coding, i.e., displaying important items
  10887. consistently in a particular location, might be a sufficient means of
  10888. highlighting, as when an error message appears in a space otherwise left
  10889. blank.  But auxiliary codes may still be needed to highlight important
  10890. items, even if they are positioned consistently.
  10891.  
  10892. %p "Reference"
  10893. EG 2.1.3 2.3.12
  10894. MS 5.15.3.3.1
  10895. %g "2.6/2      +  Removing Highlighting"
  10896.  
  10897. %p
  10898. If highlighting is used to emphasize important display items, remove
  10899. such highlighting when it no longer has meaning.
  10900.  
  10901. %p "Example"
  10902. If highlighting identifies an error, remove that highlighting when the
  10903. error is corrected.
  10904. %g "2.6/3      Coding by Data Category"
  10905.  
  10906. %p
  10907. Provide display coding in applications where a user must distinguish
  10908. rapidly among different categories of displayed data, particularly when
  10909. those data are distributed in an irregular way on the display.
  10910. %g "2.6/4      Meaningful Codes"
  10911.  
  10912. %p
  10913. Adopt meaningful or familiar codes, rather than arbitrary codes.
  10914.  
  10915. %p "Example"
  10916. A three-letter mnemonic code (DIR = directory) is easier to remember
  10917. than a three-digit numeric code.
  10918.  
  10919. %p "Comment"
  10920. An arbitrary code, such as a Social Security Number, may eventually
  10921. become familiar through frequent use.
  10922.  
  10923. %p "Reference"
  10924. BB 3.6.2
  10925. MS 5.15.3.3.1
  10926. %g "2.6/5      +  Familiar Coding Conventions"
  10927.  
  10928. %p
  10929. Adopt codes for display (and entry) that conform with accepted
  10930. abbreviations and general user expectations.
  10931.  
  10932. %p "Example"
  10933. Use M for "male", F for "female", rather than arbitrary digits 1 and 2.
  10934. In color coding, use red for danger.
  10935.  
  10936. %p "Comment"
  10937. If in doubt, an interface designer can survey prospective users to
  10938. determine just what their expectations may be.
  10939.  
  10940. %p "See also"
  10941. 2.6/32 4.0/14
  10942. %g "2.6/6      Definition of Display Codes"
  10943.  
  10944. %p
  10945. When codes are assigned special meaning in a display, provide a
  10946. definition at the bottom of the display that replicates the code being
  10947. defined.
  10948.  
  10949. %p "Example"
  10950. The legend on a map is a common example.
  10951.  
  10952. %p "Example"
  10953. For a color code each definition should be displayed in its appropriate
  10954. color, as | RED = hostile | displayed in red.
  10955.  
  10956. %p "Reference"
  10957. BB 7.6.1
  10958.  
  10959. %p "See also"
  10960. 4.4/21
  10961. %g "2.6/7      Consistent Coding Across Displays"
  10962.  
  10963. %p
  10964. Assign consistent meanings to symbols and other codes, from one display
  10965. to another.
  10966.  
  10967. %p "Comment"
  10968. When coding is not consistent, the user's task of display interpretation
  10969. may be made more difficult than if no auxiliary coding were used at all.
  10970.  
  10971. %p "Reference"
  10972. BB 3.6.1 7.6.2
  10973. MS 5.15.3.3.1
  10974.  
  10975. %p "See also"
  10976. 2.0/14 4.0/13
  10977. %g "2.6/8      Alphanumeric Coding"
  10978.  
  10979. %p
  10980. Consider alphanumeric characters for auxiliary coding in display
  10981. applications such as graphics where the basic data presentation is not
  10982. already alphanumeric.
  10983.  
  10984. %p "Comment"
  10985. Select alphanumeric codes that are visually distinct for visual
  10986. displays, and phonetically distinct for auditory displays (or in any
  10987. application where displayed codes must be spoken).
  10988.  
  10989. %p "Reference"
  10990. EG Table 1
  10991.  
  10992. %p "See also"
  10993. 1.0/18
  10994. %g "2.6/9      +  Consistent Case in Alphabetic Coding"
  10995.  
  10996. %p
  10997. For alphabetic codes display all letters consistently either in upper
  10998. case or in lower case.
  10999.  
  11000. %p "Comment"
  11001. For data display, upper case labels may be somewhat more legible.  For
  11002. data entry, computer logic should not distinguish between upper and
  11003. lower case codes, because users find it hard to remember any such
  11004. distinction.
  11005.  
  11006. %p "Reference"
  11007. BB 1.3.3
  11008.  
  11009. %p "See also"
  11010. 1.0/27
  11011. %g "2.6/10     +  Combining Letters and Numbers"
  11012.  
  11013. %p
  11014. When codes combine both letters and numbers, group letters together and
  11015. numbers together rather than interspersing letters with numbers.
  11016.  
  11017. %p "Example"
  11018. Letter-letter-number ("HW5") will be read and remembered somewhat more
  11019. accurately than letter-number-letter ("H5W").
  11020.  
  11021. %p "Comment"
  11022. Unfortunately, there are common instances in which this practice has not
  11023. been followed, such as the coding of British and Canadian postal zones.
  11024.  
  11025. %p "Reference"
  11026. BB 1.5.1
  11027. MS 5.15.3.5.8
  11028. %g "2.6/11     +  Short Codes"
  11029.  
  11030. %p
  11031. When arbitrary codes must be remembered by the user, ensure that they
  11032. are no longer than four or five characters.
  11033.  
  11034. %p "Exception"
  11035. When a code is meaningful, such as a mnemonic abbreviation or a word, it
  11036. can be longer.
  11037.  
  11038. %p "Reference"
  11039. BB 1.5.2
  11040. MS 5.15.3.5.8
  11041.  
  11042. %p "See also"
  11043. 1.0/15
  11044. %g "2.6/12     Special Symbols"
  11045.  
  11046. %p
  11047. Consider using special symbols, such as asterisks, arrows, etc., to draw
  11048. attention to selected items in alphanumeric displays.
  11049.  
  11050. %p "See also"
  11051. 4.3/19
  11052. %g "2.6/13     +  Consistent Use of Special Symbols"
  11053.  
  11054. %p
  11055. When using special symbols to signal critical conditions, use them only
  11056. for that purpose.
  11057.  
  11058. %p "See also"
  11059. 2.6/7
  11060. %g "2.6/14     +  Markers Close to Words Marked"
  11061.  
  11062. %p
  11063. When a special symbol is used to mark a word, separate the symbol from
  11064. the beginning of the word by a space.
  11065.  
  11066. %p "Comment"
  11067. A symbol immediately adjacent to the beginning of a word will impair
  11068. legibility.
  11069.  
  11070. %p "Reference"
  11071. Noyes 1980
  11072. %g "2.6/15     Shape Coding"
  11073.  
  11074. %p
  11075. Consider coding with geometric shapes to help users discriminate
  11076. different categories of data on graphic displays.
  11077.  
  11078. %p "Comment"
  11079. Approximately 15 different shapes can be distinguished readily.  If that
  11080. "alphabet" is too small, it may be possible to use component shapes in
  11081. combination, as in some military symbol codes.
  11082.  
  11083. %p "Reference"
  11084. EG Table 1
  11085. %g "2.6/16     +  Establishing Standards for Shape Coding"
  11086.  
  11087. %p
  11088. When shape coding is used, assign codes based on established standards
  11089. or conventional meanings.
  11090.  
  11091. %p "Example"
  11092. A number of international, national, and organizational standards for
  11093. shape coding exist, and those should be followed where they apply.
  11094.  
  11095. %p "Comment"
  11096. Although shape codes can often be mnemonic in form, their interpretation
  11097. will generally rely on learned association as well as immediate
  11098. perception.  Existing user standards must be taken into account by the
  11099. display designer.
  11100.  
  11101. %p "Reference"
  11102. MS 5.15.3.3.6
  11103.  
  11104. %p "See also"
  11105. 2.6/7 4.0/13
  11106. %g "2.6/17     Line Coding"
  11107.  
  11108. %p
  11109. For graphic displays, consider using auxiliary methods of line coding,
  11110. including variation in line type (e.g., solid, dashed, dotted) and line
  11111. width ("boldness").
  11112.  
  11113. %p "Comment"
  11114. Perhaps three or four line types might be readily distinguished, and two
  11115. or three line widths.
  11116.  
  11117. %p "Reference"
  11118. EG 2.3
  11119.  
  11120. %p "See also"
  11121. 2.4.3/6
  11122. %g "2.6/18     +  Underlining for Emphasis"
  11123.  
  11124. %p
  11125. When a line is added simply to mark or emphasize a displayed item, place
  11126. it under the designated item.
  11127.  
  11128. %p "Comment"
  11129. A consistent convention is needed to prevent ambiguity in the coding of
  11130. vertically arrayed items.
  11131.  
  11132. %p "Comment"
  11133. For words composed from the Roman alphabet, underlining probably
  11134. detracts from legibility less than would "overlining".
  11135.  
  11136. %p "Reference"
  11137. MS 5.15.3.3.5
  11138. %g "2.6/19     +  Coding by Line Length"
  11139.  
  11140. %p
  11141. Consider using codes with lines of varying length for applications
  11142. involving spatial categorization in a single dimension.
  11143.  
  11144. %p "Example"
  11145. The length of a displayed vector might be used to indicate speed.
  11146.  
  11147. %p "Comment"
  11148. Perhaps four lengths can be reliably distinguished in practical use.
  11149. Long lines will add clutter to a display, but may be useful in special
  11150. applications.
  11151.  
  11152. %p "Reference"
  11153. EG Table 1
  11154. %g "2.6/20     +  Coding by Line Direction"
  11155.  
  11156. %p
  11157. Consider using codes with lines of varying direction for applications
  11158. involving spatial categorization in two dimensions.
  11159.  
  11160. %p "Example"
  11161. The angle of a displayed vector might be used to indicate direction,
  11162. i.e., heading or bearing.
  11163.  
  11164. %p "Comment"
  11165. Users can make fairly accurate estimates of angles for lines displayed
  11166. at ten-degree intervals.
  11167.  
  11168. %p "Reference"
  11169. Smith 1962a
  11170.  
  11171. %p "See also"
  11172. 1.2
  11173. %g "2.6/21     Limited Use of Size Coding"
  11174.  
  11175. %p
  11176. Consider size coding, i.e., varying the size of displayed alphanumerics
  11177. and other symbols, only for applications where displays are not crowded.
  11178.  
  11179. %p "Comment"
  11180. Perhaps as many as five sizes might be used for data categorization, but
  11181. two or three will probably prove the practical limit.
  11182.  
  11183. %p "Reference"
  11184. EG Table 1
  11185. MS 5.15.3.3.6
  11186. %g "2.6/22     +  Adequate Differences in Size"
  11187.  
  11188. %p
  11189. For size coding, a larger symbol should be at least 1.5 times the height
  11190. of the next smaller symbol.
  11191.  
  11192. %p "Comment"
  11193. An increase in symbol height must usually be accompanied by a
  11194. proportional increase in width to preserve a constant aspect ratio and
  11195. so facilitate symbol recognition.
  11196.  
  11197. %p "Reference"
  11198. MS 5.15.3.3.6
  11199. %g "2.6/23     Limited Use of Brightness Coding"
  11200.  
  11201. %p
  11202. Consider coding by differences in brightness for applications that only
  11203. require discrimination between two categories of displayed items; i.e.,
  11204. treat brightness as a two-valued code, bright and dim.
  11205.  
  11206. %p "Example"
  11207. A data form might display dim labels and bright data items, in order to
  11208. facilitate data scanning.
  11209.  
  11210. %p "Comment"
  11211. Perhaps as many as four brightness levels might be used, but at some
  11212. risk of reduced legibility for the dimmer items.  It will be safer to
  11213. reserve brightness as a two-valued code, particularly for displays whose
  11214. overall intensity can be adjusted at the terminal by a user.
  11215.  
  11216. %p "Reference"
  11217. EG 2.1.4 Table 1
  11218.  
  11219. %p "See also"
  11220. 1.4/16
  11221. %g "2.6/24     +  Brightness Inversion"
  11222.  
  11223. %p
  11224. When a capability for brightness inversion is available (so-called
  11225. "reverse video"), where dark characters on a bright background can be
  11226. changed under computer control to bright on dark, or vice versa,
  11227. consider brightness inversion for highlighting critical items that
  11228. require user attention.
  11229.  
  11230. %p "Comment"
  11231. Brightness inversion is obviously limited to use as a two-valued code,
  11232. i.e., a displayed item is either shown with standard or inverted
  11233. brightness.  If brightness inversion is used for alerting purposes, as
  11234. recommended here, it should be reserved consistently for that purpose,
  11235. and not be used for general highlighting.
  11236.  
  11237. %p "Reference"
  11238. PR 3.3.4
  11239.  
  11240. %p "See also"
  11241. 2.6/7
  11242. %g "2.6/25     Color Coding for Relative Values"
  11243.  
  11244. %p
  11245. When the relative rather than the absolute values of a variable are
  11246. important, consider displaying gradual color changes as a tonal code to
  11247. show the relative values of a single variable.
  11248.  
  11249. %p "Example"
  11250. In displaying ocean depth, a saturated blue might be used to show the
  11251. deepest point, with gradually desaturated blues to show decreasing
  11252. depth.
  11253.  
  11254. %p "Comment"
  11255. A gradual change in color might be achieved by varying saturation,
  11256. starting with a saturated hue and gradually adding white.  Or the change
  11257. might be in intensity, starting with an intense hue and gradually adding
  11258. black.  Or the change might be in hue, moving gradually from red through
  11259. orange, yellow, green, etc.
  11260.  
  11261. %p "Comment"
  11262. People can easily make relative color comparisons when colors are
  11263. displayed simultaneously.  However, people find it more difficult to
  11264. make absolute color judgments.  Part of the problem is color naming.  A
  11265. particular blue-green hue might be named "green" by one person but
  11266. "blue" by another.  In the example above, a user could not be expected
  11267. to associate any particular shade of blue with a specific ocean depth.
  11268.  
  11269. %p "Comment"
  11270. Gradual color changes should not be used when absolute values are
  11271. important, or to code data into discrete categories.  As an example, in
  11272. displaying revenues to determine the point at which a company becomes
  11273. profitable, it would be more appropriate to use two distinctly different
  11274. colors, such as black and red, with the color changing at the point of
  11275. profitability.
  11276.  
  11277. %p "See also"
  11278. 2.4.8/7
  11279. %g "2.6/26     Color Coding for Data Categories"
  11280.  
  11281. %p
  11282. When a user must distinguish rapidly among several discrete categories
  11283. of data, particularly when data items are dispersed on a display,
  11284. consider using a unique color to display the data in each category.
  11285.  
  11286. %p "Example"
  11287. Different colors might be used effectively in a situation display to
  11288. distinguish friendly, unknown, and hostile aircraft tracks, or
  11289. alternatively to distinguish among aircraft in different altitude zones.
  11290.  
  11291. %p "Comment"
  11292. Color is a good auxiliary code, where a multicolor display capability is
  11293. available.  A color code can be overlaid directly on alphanumerics and
  11294. other symbols without significantly obscuring them.  Color coding
  11295. permits rapid scanning and perception of patterns and relationships
  11296. among dispersed data items.
  11297.  
  11298. %p "Comment"
  11299. Perhaps as many as 11 different colors might be reliably distinguished,
  11300. or even more for trained observers.  As a practical matter, however, it
  11301. will prove safer to use no more than five different colors for category
  11302. coding.
  11303.  
  11304. %p "Comment"
  11305. With some display equipment now providing millions of different colors,
  11306. designers may be tempted to exploit that capability by using many
  11307. different colors for coding.  The capability to display many colors may
  11308. be useful for depicting complex objects, and for providing tonal codes
  11309. to show the relative values of a single variable.  However, such a
  11310. capability is not useful for coding discrete categories, except that it
  11311. may allow a designer to select more carefully the particular colors to
  11312. be used as codes.
  11313.  
  11314. %p "Reference"
  11315. BB 7.2
  11316. EG Table 1
  11317. MS 5.15.3.3.7
  11318. Smith 1962b
  11319. Smith 1963a
  11320. Smith Thomas 1964
  11321. Smith Farquhar Thomas 1965
  11322. %g "2.6/27     +  Easily Discriminable Colors"
  11323.  
  11324. %p
  11325. When selecting colors for coding discrete categories of data, ensure
  11326. that those colors are easily discriminable.
  11327.  
  11328. %p "Example"
  11329. On a light background, a good choice of colors might be red, dark
  11330. yellow, green, blue and black; on a dark background, good colors might
  11331. be a somewhat desaturated red, green and blue, plus yellow and white.
  11332.  
  11333. %p "Comment"
  11334. The harder it is for a user to identify a displayed color, the less
  11335. useful will be the color code.  If many colors are used, colors will be
  11336. closer in hue and harder to discriminate.  If color coding is applied to
  11337. symbols that subtend small visual angles, which makes color perception
  11338. difficult, there will be a special need to limit the number of colors
  11339. used.
  11340.  
  11341. %p "Comment"
  11342. Varying saturation and intensity in addition to hue may increase the
  11343. discriminability of colors.  For instance, on a dark background a
  11344. designer might select a saturated yellow but a desaturated red.
  11345.  
  11346. %p "Comment"
  11347. Colors selected for coding should be tested with users to ensure that
  11348. they are easily discriminable.  Testing should be conducted under
  11349. realistic conditions, since such factors as display type and ambient
  11350. room lighting will affect color perception.  If colors will be used for
  11351. displaying text, care should be taken to ensure that colored letters are
  11352. legible as well as discriminable.
  11353. %g "2.6/28     +  Conservative Use of Color"
  11354.  
  11355. %p
  11356. Employ color coding conservatively, using relatively few colors and only
  11357. to designate critical categories of displayed data.
  11358.  
  11359. %p "Comment"
  11360. Casual, arbitrary use of colors on every display may cause displays to
  11361. appear "busy" or cluttered.  Casual use of color will also reduce the
  11362. likelihood that significant color coding on particular displays will be
  11363. interpreted appropriately and quickly by a user.
  11364.  
  11365. %p "Reference"
  11366. BB 7.1
  11367. %g "2.6/29     +  Adding Color to Formatted Displays"
  11368.  
  11369. %p
  11370. Add color coding after displays have already been designed as
  11371. effectively as possible in a monochrome format.
  11372.  
  11373. %p "Comment"
  11374. Do not use color coding in an attempt to compensate for poor display
  11375. format.  Redesign the display instead.
  11376.  
  11377. %p "Reference"
  11378. BB 7.3
  11379. %g "2.6/30     +  Redundant Color Coding"
  11380.  
  11381. %p
  11382. Make color coding redundant with some other display feature such as
  11383. symbology; do not code only by color.
  11384.  
  11385. %p "Comment"
  11386. Displayed data should provide necessary information even when viewed on
  11387. a monochromatic display terminal or hard-copy printout, or when viewed
  11388. by a user with defective color vision.
  11389.  
  11390. %p "Reference"
  11391. BB 7.4 7.6.3
  11392. MS 5.15.3.3.7
  11393. %g "2.6/31     +  Unique Assignment of Color Codes"
  11394.  
  11395. %p
  11396. When color coding is used, ensure that each color represents only one
  11397. category of displayed data.
  11398.  
  11399. %p "Comment"
  11400. Color will prove the dominant coding dimension on a display.  If several
  11401. different categories of data are displayed in red, say, they will have
  11402. an unwanted visual coherence which may hinder proper assimilation of
  11403. information by a user.
  11404.  
  11405. %p "Reference"
  11406. BB 7.6.1
  11407. Smith Thomas 1964
  11408. %g "2.6/32     +  Conventional Assignment of Color Codes"
  11409.  
  11410. %p
  11411. Choose colors for coding based on conventional associations with
  11412. particular colors.
  11413.  
  11414. %p "Example"
  11415. In a display of accounting data, negative numbers might be shown as red,
  11416. corresponding to past use of red ink for that purpose.
  11417.  
  11418. %p "Example"
  11419. Red is associated with danger in our society, and is an appropriate
  11420. color for alarm conditions.  Yellow is associated with caution, and
  11421. might be used for alerting messages or to denote changed data.  Green is
  11422. associated with normal "go ahead" conditions, and might be used for
  11423. routine data display.  White is a color with neutral association, which
  11424. might be used for general data display purposes.
  11425.  
  11426. %p "Comment"
  11427. Other associations can be learned by a user if color coding is applied
  11428. consistently.
  11429.  
  11430. %p "Reference"
  11431. BB 7.7.1 7.7.2 7.7.3
  11432. MS 5.15.4.6.1.f
  11433.  
  11434. %p "See also"
  11435. 2.6/5 4.0/13 4.0/14 4.3/19
  11436. %g "2.6/33     +  Brightness and Saturation to Draw Attention"
  11437.  
  11438. %p
  11439. Use brighter and/or more saturated colors when it is necessary to draw a
  11440. user's attention to critical data.
  11441.  
  11442. %p "Comment"
  11443. On some display equipment, designers can vary the intensity as well as
  11444. the saturation for individual hues.  On those displays, both intensity
  11445. and saturation can be used to draw a user's attention to critical data.
  11446.  
  11447. %p "Comment"
  11448. Although saturated and/or intense hues are useful for drawing a user's
  11449. attention, their overuse will result in a display which is garish and
  11450. difficult to view for long periods.
  11451.  
  11452. %p "Comment"
  11453. When deciding the desired saturation of any given display color,
  11454. consider the ambient lighting under which the display will be viewed.
  11455. Colors that appear highly saturated in a darkened room will appear less
  11456. saturated when viewed under high ambient illumination.
  11457. %g "2.6/34     +  Saturated Blue for Background Color"
  11458.  
  11459. %p
  11460. Use saturated blue only for background features in a display, and not
  11461. for critical data.
  11462.  
  11463. %p "Example"
  11464. Saturated blue might be used for shading background areas in graphic
  11465. displays, where its lower apparent brightness could possibly be of
  11466. benefit.  Or saturated blue might be used to display a background grid
  11467. or familiar scale on a graphic display.
  11468.  
  11469. %p "Comment"
  11470. The human eye is not equally sensitive to all colors, nor are its optics
  11471. color-corrected.  Blue symbols appear dimmer than others, and are more
  11472. difficult to focus.
  11473.  
  11474. %p "Comment"
  11475. If blue must be used for displayed data, use a desaturated blue or cyan
  11476. in order to make the data more legible.
  11477.  
  11478. %p "Reference"
  11479. BB 7.6 7.7.5
  11480. Weitzman 1985
  11481. %g "2.6/35     Blink Coding"
  11482.  
  11483. %p
  11484. Consider blink coding when a displayed item implies an urgent need for
  11485. user attention.
  11486.  
  11487. %p "Comment"
  11488. If used sparingly, blinking symbols are effective in calling a user's
  11489. attention to displayed items of unusual significance.  Blinking
  11490. characters may have somewhat reduced legibility, and may cause visual
  11491. fatigue if used too much.
  11492.  
  11493. %p "Comment"
  11494. Perhaps three or four blink rates might be reliably distinguished, but
  11495. it will probably prove safer to use blinking as a two-level code,
  11496. blinking versus nonblinking.
  11497.  
  11498. %p "Reference"
  11499. BB 1.10.2 1.10.3
  11500. EG Table 1
  11501. MS 5.15.3.3.2
  11502. Smith Goodwin 1971b
  11503. Smith Goodwin 1972
  11504.  
  11505. %p "See also"
  11506. 4.3/19
  11507. %g "2.6/36     +  Blinking Marker Symbols"
  11508.  
  11509. %p
  11510. When a user must read a displayed item that is blink coded, consider
  11511. adding an extra symbol such as an asterisk to mark the item, and then
  11512. blinking that marker symbol rather than blinking the item itself.
  11513.  
  11514. %p "Comment"
  11515. This practice will draw attention to an item without detracting from its
  11516. legibility.
  11517.  
  11518. %p "Reference"
  11519. BB 1.10.3
  11520. Smith Goodwin 1971b
  11521. %g "2.6/37     +  Optimal Blink Rate"
  11522.  
  11523. %p
  11524. When blink coding is used, select a blink rate in the range from 2 to 5
  11525. Hz, with a minimum duty cycle (ON interval) of 50 percent.
  11526.  
  11527. %p "Comment"
  11528. Although equal ON and OFF intervals are often specified, an effective
  11529. code can probably be provided even when the OFF interval is considerably
  11530. shorter than the ON (a "wink" rather than a blink), as in occulting
  11531. lights used for Navy signaling.
  11532.  
  11533. %p "Reference"
  11534. BB 1.10.4
  11535. MS 5.15.3.3.2
  11536. %g "2.6/38     Coding with Texture, Focus, Motion"
  11537.  
  11538. %p
  11539. Consider other visual coding dimensions for special display
  11540. applications, including variation in texture, focus, and motion.
  11541.  
  11542. %p "Comment"
  11543. Texture can be useful for area coding in graphic displays.  Only two
  11544. levels of focus are feasible, clear and blurred, with the risk that
  11545. blurred items will be illegible.  Perhaps 2 to 10 degrees of motion
  11546. might be distinguished, in applications where motion is an appropriate
  11547. and feasible means of display coding.
  11548.  
  11549. %p "Reference"
  11550. EG 2.3
  11551.  
  11552. %p "See also"
  11553. 2.4
  11554. %g "2.6/39     Auditory Coding"
  11555.  
  11556. %p
  11557. Consider auditory displays as a means of supplementing visual display,
  11558. or as an alternative means of data output in applications where visual
  11559. displays are not feasible.
  11560.  
  11561. %p "Example"
  11562. Auditory signals may be helpful in alerting users to critical changes in
  11563. a visual display.
  11564.  
  11565. %p "Example"
  11566. Auditory output might be used to permit telephone access to
  11567. computer-stored data.
  11568.  
  11569. %p "Exception"
  11570. Auditory display may be impractical in situations where high ambient
  11571. noise prevents accurate listening.
  11572.  
  11573. %p "Comment"
  11574. As compared with visual displays, an auditory display offers a potential
  11575. advantage in attracting a user's attention; a user does not have to
  11576. "listen at" an auditory display in order to hear it.  On the other hand,
  11577. auditory displays suffer from a number of comparative disadvantages.
  11578. Auditory displays generally do not offer as great a range of coding
  11579. options.  Auditory displays do not permit easy scanning to discern
  11580. critical data items, or items that may have been missed at first
  11581. listening.  For human listeners with normal vision, auditory displays do
  11582. not provide a natural representation of spatial relations.
  11583.  
  11584. %p "Reference"
  11585. MS 5.15.3.9.1
  11586.  
  11587. %p "See also"
  11588. 1.3/30 4.0/26 4.0/27 4.0/28 4.0/29
  11589. %g "2.6/40     +  Distinctive Auditory Coding"
  11590.  
  11591. %p
  11592. For auditory displays, employ distinctive sounds to code items requiring
  11593. special user attention.
  11594.  
  11595. %p "Example"
  11596. A variety of signals may be available, including sirens, bells, chimes,
  11597. buzzers, and tones of different frequency.
  11598.  
  11599. %p "Comment"
  11600. Tones may be presented in sequence to enlarge the signal repertoire.
  11601.  
  11602. %p "Reference"
  11603. Smith Goodwin 1970
  11604.  
  11605. %p "See also"
  11606. 4.3/19
  11607. %g "2.6/41     +  Voice Coding"
  11608.  
  11609. %p
  11610. For auditory displays with voice output, consider using different voices
  11611. to distinguish different categories of data.
  11612.  
  11613. %p "Comment"
  11614. At least two voices, male and female, could be readily distinguished,
  11615. and perhaps more depending upon fidelity of auditory output, and
  11616. listening conditions.
  11617.  
  11618. %p "Reference"
  11619. Simpson McCauley Roland Ruth Williges 1985
  11620. Smith Goodwin 1970
  11621. %g "2.6/42     +  Coding Synthesized Voice Alarms"
  11622.  
  11623. %p
  11624. If computer-generated speech output is used for auditory display, add a
  11625. special alerting signal to introduce voice alarms and warning messages
  11626. in order to distinguish them from routine advisory messages.
  11627.  
  11628. %p "Reference"
  11629. Hakkinen Williges 1984
  11630. Simpson Williams 1980
  11631.  
  11632. %p "See also"
  11633. 4.0/26 4.0/27 4.0/28 4.0/29
  11634. %a "2.7    Display Control"
  11635.  
  11636. %p
  11637. Display control refers to procedures by which a user can specify what
  11638. data are shown, and how.
  11639. %g "2.7/1      Flexible Display Control by User"
  11640.  
  11641. %p
  11642. When user information requirements cannot be exactly defined by the
  11643. designer, allow users to tailor displays flexibly on line by controlling
  11644. data selection, data coverage within a display frame, data updating and
  11645. suppression.
  11646.  
  11647. %p "Comment"
  11648. Here user control of data display is distinguished from the broader
  11649. control of transaction sequences covered in Section 3 of these
  11650. guidelines.
  11651.  
  11652. %p "Comment"
  11653. Display control by users is certainly a necessary capability in
  11654. general-purpose data processing systems.  In a designed information
  11655. system, i.e., a system created to perform specific tasks, the need for
  11656. display control by users will depend on the degree to which users'
  11657. information requirements can be anticipated by designers.  In effect, if
  11658. you know what data the system users will need, then design the displays
  11659. to provide those data.  If you are uncertain about user requirements,
  11660. then provide users with some flexibility to control display
  11661. configuration themselves.
  11662.  
  11663. %p "Comment"
  11664. Some more specialized methods of display control (e.g., rotation) are
  11665. discussed elsewhere in guidelines pertaining to graphic data entry.
  11666.  
  11667. %p "See also"
  11668. 2.0/1 2.0/8 2.8/1 1.6
  11669. %a "2.7.1  Display Control - Selection"
  11670.  
  11671. %p
  11672. Selection refers to the means for specification of data outputs, either
  11673. by a user or automatically.
  11674. %g "2.7.1/1    User Selection of Data for Display"
  11675.  
  11676. %p
  11677. For general data processing systems, allow users to specify the data for
  11678. displayed output; for specific information handling applications, allow
  11679. users to select data for display as needed to meet task requirements.
  11680.  
  11681. %p "Comment"
  11682. Flexibility of data selection by users can be exercised, of course, only
  11683. within the limits of what data are available within a computer system,
  11684. and what means for data selection have been provided by the designer.
  11685.  
  11686. %p "See also"
  11687. 2.0/2 2.0/8 2.8/1
  11688. %g "2.7.1/2    Display Identification Labels"
  11689.  
  11690. %p
  11691. When a user will select data displays, assign to each display an
  11692. identifying label, i.e., an alphanumeric code or abbreviation that can
  11693. facilitate display requests by the user.
  11694.  
  11695. %p "Comment"
  11696. An identifying label will help users remember different displays and
  11697. provide a convenient means for requesting them.  Even in systems where
  11698. users exercise little initiative in data selection, where displays are
  11699. largely configured in advance by designers, some kind of display
  11700. identification will help users understand the displayed consequences of
  11701. sequence control actions.
  11702.  
  11703. %p "Comment"
  11704. It may also the helpful to include an identifying label in any
  11705. separately selected "window" that might be overlaid on another display,
  11706. as noted in Section 2.7.5.
  11707.  
  11708. %p "Reference"
  11709. BB 1.2.3
  11710. MS 5.15.3.1.13
  11711.  
  11712. %p "See also"
  11713. 4.2/6
  11714. %g "2.7.1/3    +  Meaningful Display Labels"
  11715.  
  11716. %p
  11717. The display identification label should be unique, short, but meaningful
  11718. enough to be remembered easily.
  11719.  
  11720. %p "Comment"
  11721. As conceived here, the display label serves as a shorthand
  11722. identification.  The label does not take the place of a full,
  11723. descriptive title.  The full title would be displayed separately.
  11724.  
  11725. %p "Comment"
  11726. Where flexibility is desired, it may be good practice to let a user
  11727. assign names to the particular sets of data that constitute commonly
  11728. used displays, either as formal names or else as nicknames associated by
  11729. the computer with the formal names.
  11730.  
  11731. %p "See also"
  11732. 2.5/10 4.2/6
  11733. %g "2.7.1/4    +  Consistent Format for Display Labels"
  11734.  
  11735. %p
  11736. Place the identifying label used for display selection in a prominent
  11737. and consistent location on each display.
  11738.  
  11739. %p "Example"
  11740. The top left corner of the display might be used for this purpose.
  11741.  
  11742. %p "Reference"
  11743. BB 1.2.4
  11744.  
  11745. %p "See also"
  11746. 2.5/1 4.0/6 4.2/6
  11747. %g "2.7.1/5    Selectable Data Categories"
  11748.  
  11749. %p
  11750. If the particular data categories required at different stages in a
  11751. user's job cannot be exactly predicted, allow the user to select the
  11752. categories needed for any information handling task.
  11753.  
  11754. %p "Example"
  11755. In monitoring aircraft separation for collision avoidance, a user might
  11756. choose to display selectively the aircraft tracks within a particular
  11757. altitude zone.
  11758.  
  11759. %p "Example"
  11760. To help identify an unrecognized aircraft track, a user might choose to
  11761. add flight plan data temporarily to an air traffic display.
  11762.  
  11763. %p "Comment"
  11764. This recommendation does not lessen the designer's responsibility for
  11765. determining user needs.  Where user information requirements can be
  11766. defined, displays should be designed to provide necessary data.  User
  11767. selection from available data categories may represent desirable
  11768. flexibility to meet changing task requirements.  However, there is a
  11769. risk of "data indigestion" if a user selects the wrong categories or too
  11770. many categories.
  11771.  
  11772. %p "Comment"
  11773. Categories of selectable data might include relatively stable elements
  11774. (e.g., defined flight paths, zones of radar coverage, etc.) as well as
  11775. the variable elements that represent changing data (e.g., aircraft
  11776. tracks).
  11777.  
  11778. %p "Comment"
  11779. If auxiliary coding is adopted for different data categories, such as
  11780. shape coding of symbols, code values should be chosen to be distinctive
  11781. for any likely combination of displayed categories.
  11782.  
  11783. %p "Comment"
  11784. Users should be provided a ready reminder of what data categories are
  11785. available, and an easy means of selecting (or suppressing) displayed
  11786. categories.  This implies category selection by menu or function keys.
  11787.  
  11788. %p "See also"
  11789. 2.4.8/17
  11790. %g "2.7.1/6    Fast Response to Display Request"
  11791.  
  11792. %p
  11793. Ensure that system response to simple requests for data display take no
  11794. more than 0.5 to 1.0 second.
  11795.  
  11796. %p "Comment"
  11797. When display output is paced in segments (blocks, paragraphs, etc.),
  11798. response time refers to output of the first segment.  The recommended
  11799. response time of 0.5 to 1.0 second should apply when a user makes a
  11800. request (usually perceived as "simple") for the next page of a multipage
  11801. display, or when a display begins to move in response to a scrolling
  11802. command.  The response to a request for a new display may take somewhat
  11803. longer, perhaps 2 to 10 seconds, particularly if the user perceives such
  11804. a request to involve more complicated operations, such as accessing
  11805. different files, transforming data, etc.
  11806.  
  11807. %p "Comment"
  11808. The desirability of rapid display generation is often discounted in
  11809. practice, particularly for general purpose, time-shared systems where
  11810. other practical design considerations may dictate slower computer
  11811. response.  For dedicated systems, however, those designed to help
  11812. perform defined information handling tasks, rapid response should be an
  11813. explicit design goal, with computer output capabilities designed
  11814. accordingly.
  11815.  
  11816. %p "Reference"
  11817. EG Table 2
  11818.  
  11819. %p "See also"
  11820. 3.0/14 4.2/2 4.2/3
  11821. %g "2.7.1/7    +  Signaling Completion of Display Output"
  11822.  
  11823. %p
  11824. If display generation is slow, notify the user when display output is
  11825. complete.
  11826.  
  11827. %p "Example"
  11828. A nonobtrusive auditory signal such as a chime should suffice for this
  11829. purpose.
  11830. %g "2.7.1/8    Regenerating Changed Data"
  11831.  
  11832. %p
  11833. Where the computer must regenerate a display to update changed data
  11834. items, consider regenerating only those changed items if that will speed
  11835. display output.
  11836.  
  11837. %p "Comment"
  11838. The critical design issue here is speed of display.  It may be easier
  11839. for the computer to regenerate an entire display than to change just one
  11840. item.  But if that results in slower computer response to the user, then
  11841. the added work of selective display regeneration may be worth-while.
  11842.  
  11843. %p "Comment"
  11844. Partial display regeneration to show data changes should only be used,
  11845. of course, when that can be accomplished without erasing unchanged data.
  11846. %g "2.7.1/9    +  Initial Erasure to Replace Changed Data"
  11847.  
  11848. %p
  11849. When the computer must regenerate a display to update changed data,
  11850. erase old data items before adding new data items to the display.
  11851.  
  11852. %p "Comment"
  11853. The aim here is to avoid any momentary user confusion that might result
  11854. from watching portions of old data being overwritten and partially
  11855. overlapped by portions of new data.
  11856. %g "2.7.1/10   +  Nondestructive Overlay"
  11857.  
  11858. %p
  11859. If changing data elements temporarily overlay and obscure other display
  11860. data, ensure that the obscured data are not permanently erased but will
  11861. reappear if the overlaid data are later removed.
  11862.  
  11863. %p "Example"
  11864. In a situation display moving track data may temporarily obscure stable
  11865. background data.
  11866.  
  11867. %p "Comment"
  11868. To govern the appearance of data overlay, it may be necessary to
  11869. establish a hierarchy of data categories to determine which will be
  11870. shown when displayed in combination.  Actively changing data will
  11871. generally take priority over more stable background/reference data.
  11872.  
  11873. %p "See also"
  11874. 2.4.8/15 2.7.5/10
  11875. %g "2.7.1/11   Printing Displays Locally"
  11876.  
  11877. %p
  11878. When displayed data are of potential long-term interest, give users some
  11879. easy means to print paper copies locally, within security restraints.
  11880.  
  11881. %p "Comment"
  11882. Users should not have to remember displayed data.  Optional printout
  11883. allows a user to record data from one display to compare with another,
  11884. and so deal with situations where a designer has not anticipated the
  11885. need for such comparison.
  11886.  
  11887. %p "Comment"
  11888. A user should not have to take notes or transcribe displayed data
  11889. manually.  That practice underutilizes the data handling potential of
  11890. the computer, and risks transcription errors by the user.
  11891.  
  11892. %p "Reference"
  11893. BB 4.4.6
  11894. EG 4.2.14
  11895. MS 5.15.9.2
  11896. PR 4.10.1
  11897.  
  11898. %p "See also"
  11899. 6.2/7 6.4/7
  11900. %a "2.7.2  Display Control - Framing"
  11901.  
  11902. %p
  11903. Framing refers to user control of data coverage by display movement,
  11904. including paging, scrolling, offset, etc.
  11905. %g "2.7.2/1    Integrated Display"
  11906.  
  11907. %p
  11908. In designing displays, include all data relevant to a user's current
  11909. transaction in one display frame or page.
  11910.  
  11911. %p "Comment"
  11912. This recommendation is particularly important when critical data items
  11913. must be compared by a user.  Do not rely on a user to remember data
  11914. accurately from one display frame to another.
  11915.  
  11916. %p "Comment"
  11917. If a user requests a display output that exceeds the capacity of a
  11918. single frame, than it is obviously not possible for any designer to
  11919. ensure an integrated display.  However a designer can mitigate the
  11920. problems associated with use of extended displays, by providing
  11921. effective means for identifying and controlling sequential access to
  11922. different portions of the display.
  11923.  
  11924. %p "Reference"
  11925. EG 3.4.4
  11926.  
  11927. %p "See also"
  11928. 2.0/1 2.5/5 2.5/7 4.0/5 4.4/1
  11929. %g "2.7.2/2    Easy Paging"
  11930.  
  11931. %p
  11932. When requested data exceed the capacity of a single display frame, give
  11933. users some easy means to move back and forth over displayed material by
  11934. paging or panning/scrolling.
  11935.  
  11936. %p "Example"
  11937. Dedicated function keys might be provided for paging forward and back.
  11938.  
  11939. %p "Comment"
  11940. Note that critical data requiring integrated display for effective
  11941. assimilation should be included in a single frame, and not dispersed
  11942. over several pages.  Paging is acceptable when the user is looking for a
  11943. specific data item, but not when the user must discern some relationship
  11944. in a set of data.
  11945.  
  11946. %p "Reference"
  11947. BB 4.4.1 4.4.2 4.4.9
  11948. EG 6.3.8
  11949. MS 5.15.3.1.11
  11950. %g "2.7.2/3    +  Continuous Numbering in Multipage Lists"
  11951.  
  11952. %p
  11953. When a list of numbered items exceeds one display page, number the items
  11954. continuously in relation to the first item on the first page.
  11955.  
  11956. %p "Reference"
  11957. EG 2.3.10
  11958. %g "2.7.2/4    +  Labels for Multipage Tables"
  11959.  
  11960. %p
  11961. For a large table that exceeds the capacity of one display frame, ensure
  11962. that users can see column headings and row labels in all displayed
  11963. sections of the table.
  11964.  
  11965. %p "Reference"
  11966. BB 1.9.6
  11967. MS 5.15.3.5.4
  11968.  
  11969. %p "See also"
  11970. 1.5/1
  11971. %g "2.7.2/5    Annotating Display of Continued Data"
  11972.  
  11973. %p
  11974. When lists or tables are of variable length, and may extend beyond the
  11975. limits of one display frame, inform a user when data are continued on
  11976. another page and when data are concluded on the present page.
  11977.  
  11978. %p "Example"
  11979. Incomplete lists might be marked
  11980.  
  11981. | continued on next page| or
  11982.  
  11983. | continued | or
  11984.  
  11985. | more |
  11986.  
  11987. while concluding lists might display a note
  11988.  
  11989. | end of list | or
  11990.  
  11991. | end |
  11992.  
  11993. %p "Exception"
  11994. Short lists whose conclusion is evident from the display format need not
  11995. be annotated in this way.
  11996.  
  11997. %p "Reference"
  11998. BB 1.9.7
  11999.  
  12000. %p "See also"
  12001. 4.2/7
  12002. %g "2.7.2/6    +  Numbering Display Pages"
  12003.  
  12004. %p
  12005. When display output is more than one page, annotate each page to
  12006. indicate display continuation.
  12007.  
  12008. %p "Example"
  12009. The phrase | page x of y | is commonly used for this purpose.
  12010.  
  12011. %p "Comment"
  12012. When a display extends over just a few pages, and when a user is not
  12013. expected to care about any particular page, then it may be sufficient to
  12014. identify the pages
  12015.  
  12016. | first |
  12017.  
  12018. | continued |
  12019.  
  12020. | last |
  12021.  
  12022. rather than assigning them numbers.
  12023.  
  12024. %p "Comment"
  12025. A recommended format is to identify pages by a note immediately to the
  12026. right of the display title.  With such a consistent location, the page
  12027. note might be displayed in dimmer characters.  Leading zeros should not
  12028. be used in the display of page numbers.
  12029.  
  12030. %p "Comment"
  12031. If a large display output is viewed by continuous panning/scrolling
  12032. rather than by discrete paging, then some other means must be found to
  12033. label that portion of the display which is currently visible.  Some sort
  12034. of graphic indicator might be inset at the margin of the display frame
  12035. to suggest current location.
  12036.  
  12037. %p "Reference"
  12038. MS 5.15.3.1.12
  12039. PR 4.5.5 4.10.4
  12040.  
  12041. %p "See also"
  12042. 2.5/4 4.2/7
  12043. %g "2.7.2/7    Consistent Orientation - Panning vs. Scrolling"
  12044.  
  12045. %p
  12046. Adopt a consistent orientation for display framing throughout interface
  12047. design, so that users can either 1) conceive the display frame as a
  12048. window moving over a fixed array of data, here called "panning", or 2)
  12049. conceive data as moving behind a fixed display frame, commonly called
  12050. "scrolling".
  12051.  
  12052. %p "Comment"
  12053. Ideally a consistent orientation for display framing would be maintained
  12054. across all systems.  Certainly that orientation should be consistent
  12055. within any one system.
  12056.  
  12057. %p "Comment"
  12058. A user can adapt to either concept, if it is maintained consistently.
  12059. Both concepts have some precedent in experience.  Moving a camera across
  12060. a fixed scene illustrates panning.  Moving a specimen beneath the fixed
  12061. eyepiece of a microscope illustrates scrolling.  Tests seem to indicate
  12062. that panning is the more natural concept for inexperienced users,
  12063. causing fewer errors, and hence is the preferred option when other
  12064. considerations are equal.
  12065.  
  12066. %p "Reference"
  12067. Bury Boyle Evey Neal 1982
  12068. %g "2.7.2/8    +  Panning with Free Cursor Movement"
  12069.  
  12070. %p
  12071. In applications where a user can move a cursor freely about a page of
  12072. displayed data, adopt panning rather than scrolling as the conceptual
  12073. basis of display framing.
  12074.  
  12075. %p "Example"
  12076. Full-screen editing is a common application involving free cursor
  12077. movement.
  12078.  
  12079. %p "Comment"
  12080. Since displayed data will be perceived as fixed during free cursor
  12081. movement, considerations of joint compatibility suggest that displayed
  12082. data remain conceptually fixed during movement of a display frame or
  12083. window.  Indeed, it might be possible to use the same arrow-labeled
  12084. function keys to control both cursor movement and panning.
  12085.  
  12086. %p "Reference"
  12087. Morrill Davies 1961
  12088.  
  12089. %p "See also"
  12090. 1.3/3
  12091. %g "2.7.2/9    Functional Labeling for Display Framing"
  12092.  
  12093. %p
  12094. When a user will access different systems with different conventions for
  12095. panning or scrolling, in user instructions, key labels, etc., always
  12096. refer to display framing in functional terms (e.g., "forward" and
  12097. "back", or "next" and "previous") and avoid wording that implies spatial
  12098. orientation (e.g., "up" and "down").
  12099.  
  12100. %p "Comment"
  12101. Control of display framing functions might be implemented by keys marked
  12102. with arrows, to avoid verbal labels altogether.
  12103.  
  12104. %p "Comment"
  12105. Note that "forward" and "back" are potentially ambiguous because of the
  12106. contradictory use of those words in referring to movement within books.
  12107. %g "2.7.2/10   +  Labeling Panning Functions"
  12108.  
  12109. %p
  12110. When a panning orientation is maintained consistently, choose names for
  12111. display framing functions that refer to movement of the display frame
  12112. (or window) and not to movement of the displayed data.
  12113.  
  12114. %p "Example"
  12115. In this case, the command "Up 10" should mean that the display frame
  12116. will move up ten lines, with the effect that ten lines of previous data
  12117. will appear at the top of the display, and ten lines of subsequent data
  12118. will disappear at the bottom.
  12119. %g "2.7.2/11   +  Labeling Scrolling Functions"
  12120.  
  12121. %p
  12122. When a scrolling orientation is maintained consistently, choose names
  12123. for display framing functions that refer to movement of the data being
  12124. displayed, and not to movement of the display frame (or window).
  12125.  
  12126. %p "Example"
  12127. In this case, the command "Up 10" should mean that displayed data will
  12128. move up ten lines behind the (conceptually fixed) display frame, with
  12129. the effect that ten lines of previous data will disappear from the top
  12130. of the display, and ten lines of subsequent data will appear at the
  12131. bottom.
  12132.  
  12133. %p "Reference"
  12134. EG 2.3.16
  12135. %g "2.7.2/12   Panning for Flexible Display Framing"
  12136.  
  12137. %p
  12138. When a display exceeds the capacity of a single frame, in terms of the
  12139. required extent and detail of coverage, consider providing users a
  12140. capability to pan the display frame over the data in order to examine
  12141. different areas of current interest.
  12142.  
  12143. %p "Comment"
  12144. A panning capability, sometimes called display "offset", can allow a
  12145. user to move continuously over an extended display in any desired
  12146. direction, without encountering any internal boundaries imposed by
  12147. predefined display framing.  Panning control might be accomplished by
  12148. some continuous-action device such as a joystick, perhaps "dragging" a
  12149. displayed framing element and then requesting display regeneration.
  12150. There is some risk that a user might become disoriented in this process.
  12151.  
  12152. %p "Comment"
  12153. An alternative approach is to define discrete pages or sections of a
  12154. large display, assign those sections identifying labels, and allow a
  12155. user to specify directly which section should be displayed.  This
  12156. approach requires the user to pay specific attention to the labeling of
  12157. different sections, which extra effort may help maintain orientation to
  12158. the display as a whole.  One risk in this approach, for a continuous
  12159. display such as a map, is that an area of interest might be at a
  12160. boundary where none of the sections provide adequate coverage.  Thus
  12161. some degree of overlapped coverage might be needed at the boundaries of
  12162. displayed sections.
  12163.  
  12164. %p "Comment"
  12165. For some applications, it might prove helpful to allow a user to specify
  12166. a particular location (such as a point on a map) and then automatically
  12167. offset the display frame to be centered around that location.
  12168.  
  12169. %p "See also"
  12170. 2.4.6/3 2.4.8/10
  12171. %g "2.7.2/13   Zooming for Display Expansion"
  12172.  
  12173. %p
  12174. When a user may need to perceive displayed data relations more
  12175. accurately, or to view data in pictures, diagrams, maps, etc. in
  12176. greater detail, provide a zooming capability that allows the user to
  12177. expand the display of any selected area.
  12178.  
  12179. %p "Comment"
  12180. Zooming can increase display spacing among crowded data items so that
  12181. they can be perceived better.  Thus an air traffic controller might
  12182. expand a portion of a situation display to see more clearly the spacing
  12183. of converging tracks that threaten a collision.
  12184.  
  12185. %p "Comment"
  12186. Zooming can increase the degree of detail, i.e., can add data to a
  12187. display.  Thus a user might expand a city map to see detailed road
  12188. structures that are not shown in a small-scale map.  When used this way,
  12189. a zooming capability implies that data can be "layered" hierarchically
  12190. at different levels of aggregation, which may require complex data files
  12191. and data management techniques.
  12192.  
  12193. %p "Comment"
  12194. Zooming might be implemented as a continuous function, by which a
  12195. display can be expanded to any degree, analogous to a continuous panning
  12196. capability.  Or zooming might be implemented in discrete increments, as
  12197. in increasing the magnification of an optical instrument to x2, x4, etc.
  12198. Incremental zooming, with abrupt changes in display scale, may tend to
  12199. disorient a user, but might prove acceptable in some applications.
  12200.  
  12201. %p "Reference"
  12202. Foley Van Dam 1982
  12203.  
  12204. %p "See also"
  12205. 2.4/15
  12206. %g "2.7.2/14   +  Show Changing Scale"
  12207.  
  12208. %p
  12209. When a display has been expanded from its normal coverage, provide some
  12210. scale indicator of the expansion factor.
  12211.  
  12212. %p "Example"
  12213. A linear indicator of current map scale might be shown in the margin, or
  12214. perhaps simply a numeric indication of the display expansion factor
  12215. (e.g., | x4 |).
  12216.  
  12217. %p "Comment"
  12218. In many applications it may be helpful to show the scale even for a
  12219. display with normal, unexpanded coverage.
  12220.  
  12221. %p "See also"
  12222. 2.4/16
  12223. %g "2.7.2/15   Show Overview Position of Visible Section"
  12224.  
  12225. %p
  12226. When a display has been panned and/or expanded from its normal coverage,
  12227. provide some graphic indicator of the position in the overall display of
  12228. the currently visible section.
  12229.  
  12230. %p "Example"
  12231. In a corner of the display frame the computer might show a rectangle
  12232. representing the overall display, in which a smaller rectangle is placed
  12233. to indicate the position and extent of the currently visible portion of
  12234. that display.
  12235.  
  12236. %p "Comment"
  12237. A graphic indication of the current coverage of a panned or expanded
  12238. display will provide some visual context to help a user maintain a
  12239. conceptual orientation between the visible part and the whole display
  12240. from which that part has been excerpted.
  12241.  
  12242. %p "Comment"
  12243. In some special applications it may be possible to provide a user with
  12244. two separate display screens, one to show an overview for general
  12245. reference, and the other to show an expanded portion of that overview
  12246. display.
  12247.  
  12248. %p "Reference"
  12249. Foley Van Dam 1982
  12250.  
  12251. %p "See also"
  12252. 2.4/17 2.4.8/11
  12253. %g "2.7.2/16   Framing Integrally for All Data"
  12254.  
  12255. %p
  12256. Ensure that framing functions perform integrally so that panning and/or
  12257. zooming will affect all displayed data in the same way.
  12258.  
  12259. %p "Example"
  12260. On a situation display, zooming should expand background data such as
  12261. geographic boundaries to the same scale as the expansion of overlaid
  12262. "active" data.
  12263. %g "2.7.2/17   Return to Normal Display Coverage"
  12264.  
  12265. %p
  12266. If a user is allowed to pan over an extended display, or zoom for
  12267. display expansion, provide some easy means for the user to return to
  12268. normal display coverage.
  12269.  
  12270. %p "Example"
  12271. Return to normal display coverage might be accomplished by a function
  12272. key labeled RETURN, or perhaps RESET.
  12273.  
  12274. %p "Comment"
  12275. A user who has panned to some special area in an extended display, or
  12276. who has expanded a display to examine some particular section in detail,
  12277. may suddenly need to return quickly to normal display coverage.  Perhaps
  12278. the user has received an alerting message requiring attention to another
  12279. portion of the display.  Quick return to normal coverage will allow the
  12280. user to re-establish a familiar orientation to the display as a whole.
  12281.  
  12282. %p "Comment"
  12283. Here normal coverage might always be defined as that data coverage shown
  12284. when a display was initially generated.  Or it might be desirable in
  12285. some instances to allow a user to specify what is to be considered
  12286. normal coverage for any particular display.
  12287. %a "2.7.3  Display Control - Update"
  12288.  
  12289. %p
  12290. Update refers to the regeneration of displayed data, by user request or
  12291. automatically, to show current changes.
  12292. %g "2.7.3/1    Automatic Display Update"
  12293.  
  12294. %p
  12295. When displayed data are changing as a result of external events, a user
  12296. should be able to request automatic update (computer regeneration) of
  12297. changed data, and be able to control the update rate.
  12298.  
  12299. %p "Exception"
  12300. In an operations monitoring task, requirements may dictate the
  12301. circumstances and rate of display updating.
  12302.  
  12303. %p "Reference"
  12304. MS 5.15.3.4.2
  12305. %g "2.7.3/2    Highlighting Changed Data"
  12306.  
  12307. %p
  12308. When data have changed following automatic display update, consider
  12309. highlighting those data changes temporarily.
  12310.  
  12311. %p "Example"
  12312. A change in a critical data item might be highlighted with reverse
  12313. video, or might be marked with a blinking symbol.
  12314.  
  12315. %p "Comment"
  12316. The desirable interval for highlighting changed data will depend on the
  12317. importance of those data.  If data changes imply a need for special user
  12318. attention, then highlighting might continue until the user takes some
  12319. specific acknowledgement action.  Otherwise, highlighting might be
  12320. removed after several seconds, or might continue until a user takes some
  12321. other control action.
  12322.  
  12323. %p "See also"
  12324. 2.6/1
  12325. %g "2.7.3/3    Readability of Changing Data"
  12326.  
  12327. %p
  12328. If users must accurately read changing data values, ensure that those
  12329. data are displayed long enough to be read.
  12330.  
  12331. %p "Comment"
  12332. A current design standard specifies that for accurate reading, data
  12333. should be displayed in a fixed position and updated no more than once
  12334. per second.  In some applications, however, a slower update rate may be
  12335. required.  When in doubt, test user performance with prototype displays
  12336. to determine appropriate update rates.
  12337.  
  12338. %p "Comment"
  12339. If users need only to monitor general trends in changing data values,
  12340. and do not need to take exact readings, somewhat faster update rates may
  12341. be acceptable.  Again, prototype testing will sometimes be needed to
  12342. determine appropriate update rates.
  12343.  
  12344. %p "Reference"
  12345. MS 5.15.3.4.1
  12346. %g "2.7.3/4    Visual Integration of Changing Graphics"
  12347.  
  12348. %p
  12349. If a user must visually integrate changing patterns on a graphic
  12350. display, update the data at a rate appropriate to human perceptual
  12351. abilities for that kind of data change.
  12352.  
  12353. %p "Example"
  12354. Effective display of changing radar data for track detection and
  12355. monitoring requires repeated, sequential output of stored data frames,
  12356. and the timing of successive frames is critical for optimizing pattern
  12357. perception.
  12358.  
  12359. %p "Comment"
  12360. Slowly developing patterns may be seen more easily with time
  12361. compression, i.e., with rapid display of sequentially stored data
  12362. frames.  Fast changing data may require time expansion, i.e., slowed
  12363. output, to aid pattern perception.  For critical applications,
  12364. experiment with prototype displays to determine proper timing.
  12365.  
  12366. %p "Comment"
  12367. In some applications it may help to allow a user to control the speed
  12368. for update of displayed data.
  12369.  
  12370. %p "Comment"
  12371. In applications where the timing of display update is variable, it may
  12372. help to indicate the currently selected time scale on the display.
  12373.  
  12374. %p "Comment"
  12375. Similar considerations apply to auditory displays, where speeding or
  12376. slowing sound signals may aid pattern recognition.
  12377.  
  12378. %p "Reference"
  12379. MS 5.15.3.6.3
  12380. Chao 1985
  12381. Foley Van Dam 1982
  12382. %g "2.7.3/5    Display Freeze"
  12383.  
  12384. %p
  12385. When displayed data are automatically updated, allow users to stop the
  12386. process (by "freeze" or "stop action") at any point, in order to examine
  12387. changed data more deliberately.
  12388.  
  12389. %p "Exception"
  12390. For an operations monitoring task, requirements may dictate that current
  12391. data changes be continuously viewed; in such a case, display freeze
  12392. might be useful during some subsequent playback of recorded data for
  12393. purposes of operational analysis.
  12394.  
  12395. %p "Comment"
  12396. For some applications, it might also prove helpful if a user could step
  12397. incrementally forward or back in a time sequence, in order to examine
  12398. data changes frame by frame.
  12399.  
  12400. %p "Reference"
  12401. MS 5.15.3.4.3
  12402. %g "2.7.3/6    +  Labeling Display Freeze"
  12403.  
  12404. %p
  12405. When a display has been frozen, annotate that display with some
  12406. appropriate label to remind users of its frozen status.
  12407.  
  12408. %p "Reference"
  12409. MS 5.15.3.4.4
  12410.  
  12411. %p "See also"
  12412. 4.4/13
  12413. %g "2.7.3/7    +  Signaling Changes to Frozen Data"
  12414.  
  12415. %p
  12416. When a display being updated in real time has been frozen, warn users if
  12417. some significant (but not displayed) change is detected in the computer
  12418. processing of new data.
  12419.  
  12420. %p "See also"
  12421. 4.4/13
  12422. %g "2.7.3/8    +  Resuming Update After Display Freeze"
  12423.  
  12424. %p
  12425. When a display being updated in real time has been frozen, and then a
  12426. user elects to resume update, resume display update at the current
  12427. real-time point unless otherwise specified by the user.
  12428.  
  12429. %p "Comment"
  12430. In some applications, a user might wish to resume display update at the
  12431. point of stoppage, and so display change would thenceforth lag real-time
  12432. data change.  Or perhaps a user might choose to see a speeded "replay"
  12433. of interim changes to regain current display status.  In practice,
  12434. however, such options might risk confusion.
  12435.  
  12436. %p "Reference"
  12437. MS 5.15.3.4.3
  12438. %g "2.7.3/9    Prediction Display"
  12439.  
  12440. %p
  12441. To help a user understand and respond effectively to complex data
  12442. changes, consider displaying a prediction of future data states based on
  12443. computer analysis of an appropriate model of the data dynamics.
  12444.  
  12445. %p "Example"
  12446. Prediction display might be used to aid the control of any rapidly
  12447. changing process involving complex dynamics, such as depth control for a
  12448. high-performance submarine.
  12449.  
  12450. %p "Comment"
  12451. The concept of prediction display extends the practice of dynamic
  12452. display update, from simply showing recent and current data states, to
  12453. anticipate future changes in data.  In effect, a computer can iterate in
  12454. "fast time" changes in a dynamic data model, and then display its
  12455. current prediction of future real-time changes.  The usefulness of such
  12456. prediction will depend upon the accuracy of the underlying data model.
  12457. As it happens, where prediction display can help users, as in complex
  12458. vehicular control or process control applications, the dynamics of
  12459. process change are often defined sufficiently well to permit valid
  12460. computer modeling.
  12461.  
  12462. %p "Comment"
  12463. A consistent logic should be adopted for computer modeling and
  12464. prediction in relation to possible user action.  For dynamic control
  12465. applications, one feasible logic is for a computer to predict and
  12466. display the future consequences if the user persists in the current
  12467. control action.  As an alternative, a computer might predict and display
  12468. the consequences if the user were to cease any control action.  Either
  12469. logic could prove helpful.  But whichever is adopted should be used
  12470. consistently.
  12471.  
  12472. %p "Comment"
  12473. Prediction displays should be formatted to distinguish clearly between
  12474. actual current data and extrapolated future data.
  12475. %a "2.7.4  Display Control - Suppression"
  12476.  
  12477. %p
  12478. Suppression refers to user control of display coverage by temporary
  12479. deletion of specified data categories.
  12480. %g "2.7.4/1    Temporary Suppression of Displayed Data"
  12481.  
  12482. %p
  12483. When standard data displays are used for special purposes, allow users
  12484. to temporarily suppress the display of data not needed for the current
  12485. task.
  12486.  
  12487. %p "Comment"
  12488. Data selections made originally for one purpose may not be appropriate
  12489. for another.  When task requirements shift rapidly, it may be more
  12490. efficient to suppress temporarily the display of unneeded data
  12491. categories, rather than to regenerate a display with different selection
  12492. criteria.
  12493.  
  12494. %p "See also"
  12495. 2.0/1
  12496. %g "2.7.4/2    +  Labeling Display Suppression"
  12497.  
  12498. %p
  12499. When data have been suppressed from a display, annotate the display with
  12500. some appropriate label to remind users that data have been suppressed.
  12501. %g "2.7.4/3    +  Signaling Changes to Suppressed Data"
  12502.  
  12503. %p
  12504. When data have been suppressed from a display, warn users if some
  12505. significant (but not displayed) change is detected in the computer
  12506. processing of new data.
  12507. %g "2.7.4/4    +  Resuming Display of Suppressed Data"
  12508.  
  12509. %p
  12510. When data have been suppressed from a display, provide users with some
  12511. means to quickly restore the display to its complete, originally
  12512. generated form.
  12513.  
  12514. %p "Comment"
  12515. If a function key is used to restore suppressed data, that key action
  12516. should have no other consequences.  For instance, if a user must press
  12517. RETURN to restore suppressed data, that key should only restore data and
  12518. should not also move a displayed cursor to some other position.
  12519.  
  12520. %p "Comment"
  12521. In some applications, it may be desirable to restore suppressed data
  12522. automatically, after expiration of a predetermined time-out, rather than
  12523. relying on a user to remember to do it.
  12524. %a "2.7.5  Display Control - Window Overlays"
  12525.  
  12526. %p
  12527. Window overlays can be temporarily added to a display to show requested
  12528. data, menus, user guidance, etc.
  12529. %g "2.7.5/1    Temporary Window Overlays"
  12530.  
  12531. %p
  12532. When it is necessary to add requested data or other features temporarily
  12533. to a current display, consider providing window overlays for that
  12534. purpose.
  12535.  
  12536. %p "Example"
  12537. On a map display, if a user requests detailed data about a particular
  12538. location, the computer might display an overlaid window with tabular or
  12539. textual description, which could later be removed by user action.
  12540.  
  12541. %p "Comment"
  12542. Here temporary window overlays should be distinguished from the more
  12543. stable "windows" consistently provided in display formatting, such as
  12544. the various defined display areas that might be dedicated to showing the
  12545. display title, a date-time group, user prompting, a composed control
  12546. entry, an error message, etc.
  12547.  
  12548. %p "Comment"
  12549. Window overlays can be used to show data of temporary or extraneous
  12550. interest.  By contrast, if a set of data must be viewed continuously or
  12551. in an integrated display with other data, then that data set should be
  12552. available as a selectable data category.
  12553.  
  12554. %p "See also"
  12555. 2.7.1/5 2.5
  12556. %g "2.7.5/2    Predefined Windows"
  12557.  
  12558. %p
  12559. When the value of particular window overlays can be determined during
  12560. interface design, those overlays should be predefined and offered to
  12561. users under computer control.
  12562.  
  12563. %p "Example"
  12564. A menu of currently appropriate control options might be superimposed on
  12565. a current display by user selection of the displayed menu title.
  12566.  
  12567. %p "Comment"
  12568. The aim here is to allow a user to select window overlays that have
  12569. already been designed, rather than having to specify a desired window
  12570. from scratch.  User display control should be kept as simple as
  12571. possible, so that a user can spend time assimilating data instead of
  12572. manipulating the display of data.
  12573. %g "2.7.5/3    User-Specified Windows"
  12574.  
  12575. %p
  12576. When the need to view several different kinds of data jointly cannot be
  12577. determined in advance, allow a user to specify and select separate data
  12578. windows that will share a single display frame.
  12579.  
  12580. %p "Comment"
  12581. Users may abuse such a capability for arbitrary window definition,
  12582. adding so many windows to a display that the resulting hodgepodge defies
  12583. interpretation.  A designer can do little to prevent that.  However, the
  12584. designer can try to ensure that the means for window creation and
  12585. control are made as efficient as possible.
  12586.  
  12587. %p "Comment"
  12588. Depending upon user needs (and system capability), data windows might
  12589. appear simultaneously as segments of a joint display, might be overlaid
  12590. in varying degrees so as to obscure one another, or might be displayed
  12591. sequentially at the user's option.  In the latter condition, multiple
  12592. display windows will differ little from multiple display pages, except
  12593. perhaps in speed of sequential access.
  12594.  
  12595. %p "Comment"
  12596. This recommendation assumes that it is mostly data overlays which a user
  12597. will want to create.  Other kinds of window overlays would usually be
  12598. offered under computer control, such as those providing error messages
  12599. and other forms of user guidance.  It is possible, however, that a user
  12600. might wish to define certain kinds of non-data windows, such as an
  12601. overlay of "favorite" menu options, or an overlaid guidance "memo"
  12602. composed for the user's own purposes.  Perhaps a user should be allowed
  12603. to create those kinds of window overlays as well.
  12604.  
  12605. %p "See also"
  12606. 2.5/8
  12607. %g "2.7.5/4    Consistent Window Control"
  12608.  
  12609. %p
  12610. Ensure that the means provided users to control window overlays operate
  12611. consistently from one display to another for each type of overlay.
  12612.  
  12613. %p "Comment"
  12614. Control of predefined windows may simply involve "opening" and "closing"
  12615. them, by selection of displayed option labels or function keys.  Control
  12616. of user-defined windows may require user specification of window
  12617. contents, window size and positioning on the display.  Such window
  12618. control must be learned by a user, and consistent design of control
  12619. logic will aid that learning.
  12620.  
  12621. %p "Comment"
  12622. Some advocates of window overlays predict that standard methods of
  12623. window control will become part of the basic support software for user
  12624. interface design.
  12625.  
  12626. %p "Reference"
  12627. Foley Van Dam 1982
  12628. %g "2.7.5/5    Easy Suppression of Window Overlays"
  12629.  
  12630. %p
  12631. Provide an easy means for a user to suppress the display of window
  12632. overlays.
  12633.  
  12634. %p "Example"
  12635. A requested guidance overlay might be removed by user selection of a
  12636. RETURN function key; a menu overlay displayed under computer control
  12637. might disappear automatically following user selection of an option from
  12638. that menu.
  12639.  
  12640. %p "See also"
  12641. 2.7.4
  12642. %g "2.7.5/6    Labeling Windows"
  12643.  
  12644. %p
  12645. When a user can select predefined window overlays, assign to each
  12646. overlay an identifying label.
  12647.  
  12648. %p "Comment"
  12649. Labeling window overlays may help users request and recognize them, in
  12650. the same way that display labeling can aid display selection.
  12651.  
  12652. %p "See also"
  12653. 2.7.1/2
  12654. %g "2.7.5/7    Indicate Active Window"
  12655.  
  12656. %p
  12657. If several window overlays are displayed at once, indicate to the user
  12658. in which window (if any) an action can currently be taken.
  12659.  
  12660. %p "Example"
  12661. A prominent cursor might be displayed in the currently active window, or
  12662. perhaps the displayed border of an active window might be highlighted in
  12663. some way.
  12664.  
  12665. %p "Comment"
  12666. Adding window overlays to a display can increase the conceptual
  12667. complexity of control actions as well as the difficulty of data
  12668. assimilation.  Consider a case in which several windows are shown,
  12669. including some menu overlays and some data windows.  There it is
  12670. important to indicate to a user which window is currently "active",
  12671. i.e., whether the next action will result in a menu selection or a data
  12672. change.
  12673.  
  12674. %p "See also"
  12675. 2.6/1
  12676. %g "2.7.5/8    +  Easy Shifting Among Windows"
  12677.  
  12678. %p
  12679. If several window overlays are displayed at once, provide some easy
  12680. means for a user to shift among them to select which window shall be
  12681. currently active.
  12682.  
  12683. %p "Comment"
  12684. The most direct method might be to allow a user to select a window by
  12685. pointing anywhere within its displayed borders, but that action might be
  12686. confused with the selection of a particular item within the window.
  12687. Some designers provide a special symbol for window selection in the
  12688. border itself.
  12689. %g "2.7.5/9    Consistent Control Within Windows"
  12690.  
  12691. %p
  12692. When control actions such as command entry may be taken by a user
  12693. working within a window overlay, ensure that those control actions will
  12694. be consistent from one window to another.
  12695.  
  12696. %p "Example"
  12697. Cursor positioning controls and data editing capabilities should operate
  12698. consistently within all windows.
  12699.  
  12700. %p "Comment"
  12701. If controls in one window operate differently than in another, user
  12702. confusion will be unavoidable.
  12703. %g "2.7.5/10   Nondestructive Overlay"
  12704.  
  12705. %p
  12706. When a window overlay temporarily obscures other displayed data, ensure
  12707. that the obscured data are not permanently erased but will reappear if
  12708. the overlay is later removed.
  12709.  
  12710. %p "See also"
  12711. 2.7.1/10
  12712. %a "2.8    Design Change"
  12713.  
  12714. %p
  12715. Design change of software supporting data display functions may be
  12716. needed to meet changing operational requirements.
  12717. %g "2.8/1      Flexible Design for Data Display"
  12718.  
  12719. %p
  12720. When data display requirements may change, which is often the case,
  12721. provide some means for users (or a system administrator) to make
  12722. necessary changes to display functions.
  12723.  
  12724. %p "Comment"
  12725. Display characteristics that may need to be changed include those
  12726. represented in these guidelines, namely, the types of data that can be
  12727. displayed, formatting and coding logic, and the capabilities offered for
  12728. display control.
  12729.  
  12730. %p "Comment"
  12731. Many of the preceding guidelines in this section imply a need for design
  12732. flexibility.  Much of that needed flexibility can be provided in initial
  12733. interface design.  Some guidelines, however, suggest a possible need for
  12734. subsequent design change, and those guidelines are cited below.
  12735.  
  12736. %p "See also"
  12737. 2.0/2 2.0/8 2.0/11 2.5/8 2.7.1/1 2.7.1/3
  12738. %s "3 SEQUENCE CONTROL"
  12739.  
  12740. %p
  12741. Sequence control refers to user actions and computer logic that
  12742. initiate, interrupt, or terminate transactions.  Sequence control
  12743. governs the transition from one transaction to the next.  General design
  12744. objectives include consistency of control actions, minimized need for
  12745. control actions, minimized memory load on the user, with flexibility of
  12746. sequence control to adapt to different user needs.  Methods of sequence
  12747. control require explicit attention in interface design, and many
  12748. published guidelines deal with this topic.
  12749.  
  12750. %p
  12751. The importance of good design for controlling user interaction with a
  12752. computer system has been emphasized by Brown, Brown, Burkleo,
  12753. Mangelsdorf, Olsen and Perkins (1983, page 4-1):
  12754.  
  12755.      One of the critical determinants of user satisfaction and
  12756.      acceptance of a computer system is the extent to which the user
  12757.      feels in control of an interactive session.  If users cannot
  12758.      control the direction and pace of the interaction sequence, they
  12759.      are likely to feel frustrated, intimidated, or threatened by the
  12760.      computer system.  Their productivity may suffer, or they may avoid
  12761.      using the system at all.
  12762.  
  12763. %p
  12764. Complete user control of the interaction sequence and its pacing is not
  12765. always possible, of course, particularly in applications where computer
  12766. aids are used for monitoring and process control.  The actions of an air
  12767. traffic controller, for example, are necessarily paced in some degree by
  12768. the job to be done.  As a general principle, however, it is the user who
  12769. should decide what needs doing and when to do it.
  12770.  
  12771. %p
  12772. A fundamental decision in user interface design is selection of the
  12773. dialogue type(s) that will be used to implement sequence control.  Here
  12774. "dialogue" refers to the sequence of transactions that mediate
  12775. user-system interaction.  Interface design will often involve a mixture
  12776. of two or more dialogue types, since different dialogues are appropriate
  12777. to different jobs and different kinds of users.  Recognition of
  12778. appropriate dialogue types at the outset of system development will
  12779. facilitate the design of user interface software and help ensure the
  12780. effectiveness of system operation.
  12781.  
  12782. %p
  12783. The selection of dialogue types based on anticipated task requirements
  12784. and user skills seems straightforward, at least for simple cases.
  12785. Computer-initiated question-and-answer dialogues are suited to routine
  12786. data entry tasks, where data items are known and their ordering can be
  12787. constrained; this type of dialogue provides explicit prompting for
  12788. unskilled, occasional users.  Form-filling dialogues permit somewhat
  12789. greater flexibility in data entry, but may require user training.  When
  12790. data entries must be made in arbitrary order, perhaps mixed with queries
  12791. as in making airline reservations, then some mixture of function keys
  12792. and coded command language will be required for effective operation,
  12793. implying a moderate to high level of user training.
  12794.  
  12795. %p
  12796. One important aspect of dialogue choice is that different types of
  12797. dialogue imply differences in system response time for effective
  12798. operation.  In a repetitive form-filling dialogue, for example, users
  12799. may accept relatively slow computer processing of a completed form.  If
  12800. the computer should take several seconds to respond, a user probably can
  12801. take that time to set one data sheet aside and prepare another.  But
  12802. several seconds delay in a menu selection dialogue may prove
  12803. intolerable, especially when a user must make an extended sequence of
  12804. selections in order to complete an action.
  12805.  
  12806. %p
  12807. To categorize these differences, the estimated requirement for user
  12808. training and for system response time is given below for eight dialogue
  12809. types.
  12810. |------------------------------------------------------------|
  12811. |                       Required           Tolerable Speed of|
  12812. |Dialogue Type          User Training      System Response   |
  12813. |------------------------------------------------------------|
  12814. |Question and Answer    Little/None        Moderate          |
  12815. |Form Filling           Moderate/Little    Slow              |
  12816. |Menu Selection         Little/None        Very Fast         |
  12817. |Function Keys          Moderate/Little    Very Fast         |
  12818. |Command Language       High               Moderate/Slow     |
  12819. |Query Language         High/Moderate      Moderate          |
  12820. |Natural Language       Moderate/Little    Fast              |
  12821. |Graphic Interaction    High               Very Fast         |
  12822. |------------------------------------------------------------|
  12823.  
  12824. %p
  12825. The general requirements estimated in this table may vary, of course,
  12826. with any specific system design application.  As an example, graphic
  12827. interaction is judged here to require a high degree of user training.
  12828. That would surely be true of systems providing a full range of graphic
  12829. functions.  But in other applications some simple forms of graphic
  12830. interaction, such as iconic representation of menu options, might
  12831. actually serve to reduce the need for user training.
  12832.  
  12833. %p
  12834. This categorization of dialogue types has been adopted from that
  12835. proposed by Ramsey and Atwood (1979).  Each of these dialogue types is
  12836. considered in the guidelines presented here.  But much pertinent
  12837. material will be found elsewhere in these guidelines.  Thus form filling
  12838. is considered here as a dialogue type for sequence control, but is
  12839. treated elsewhere as a means of data entry (Section 1.4) and of data
  12840. display (Section 2.2).  Graphic interaction, considered here as a
  12841. dialogue type for sequence control, is also treated extensively as a
  12842. means of data entry (Section 1.6) and data display (Section 2.4).
  12843.  
  12844. %p
  12845. One might speculate whether some other type of sequence control
  12846. dialogue, beyond those listed here, could become commonplace in the
  12847. future.  Imagine an application where a user interacts with a so-called
  12848. "expert" computer system, with the locus of control in query and reply
  12849. shifting back and forth.  Would that represent merely a combination of
  12850. the various dialogue types considered here?  Or should we define some
  12851. new type of interaction called "mutual consultation" to deal more
  12852. effectively with that situation?  This remains an open question.
  12853.  
  12854. %p
  12855. Regardless of the dialogue type(s) chosen, providing context,
  12856. consistency and flexibility will be important for sequence control as it
  12857. is for other aspects of user interface design.  Several guidelines
  12858. proposed here deal explicitly with the need to define and maintain
  12859. context for users.
  12860.  
  12861. %p
  12862. With regard to consistency of sequence control, it should be emphasized
  12863. that users of information systems regard their computer as a tool
  12864. necessary to perform a job.  As a tool, they expect the computer to
  12865. perform efficiently, reliably, and predictably.  They will not regard
  12866. the computer as an intriguingly unpredictable toy with which to play
  12867. games.  Elements of surprise that might be entertaining in a game will
  12868. be frustrating in a tool.
  12869.  
  12870. %p
  12871. Neither will users want to regard their computer as a puzzle to be
  12872. solved, a challenging device whose intricacies promise pleasure in
  12873. mastery.  Where a programmer might be intrigued by the problems of
  12874. instructing a computer to perform a difficult task, an ordinary user of
  12875. the system may merely be irritated by the complexity of a computer tool.
  12876. Where smart shortcuts are provided to perform particular tasks in
  12877. particular ways, the ordinary system user may resent the extra learning
  12878. involved, and the extra memory load, rather than appreciate the elegance
  12879. of saving keystrokes.
  12880.  
  12881. %p
  12882. This argument for consistent control rather than smart shortcuts has
  12883. been made elsewhere (e.g., Reisner, 1981) but merits continual
  12884. repetition.  Perhaps the most frequent mistake made by designers of user
  12885. interface software is to provide smart shortcuts instead of consistent
  12886. control procedures.  In every instance, the designer's intent is to help
  12887. users -- by shortening a particular command, by saving a logically
  12888. redundant keystroke, or by making sequence control more efficient for a
  12889. knowledgeable user with perfect memory.  But no real users fit that
  12890. description.  Real users depend upon consistent interface design to set
  12891. practical limits on what they must learn and remember about their
  12892. computer tools.
  12893.  
  12894. %p
  12895. In accord with this argument, many of the guidelines proposed here deal
  12896. in some way with the need to provide consistent logic for sequence
  12897. control.  A consistent interface design -- where actions are all taken
  12898. in the same way, where displayed control options are all formatted in
  12899. the same way, where error messages are all worded in the same way, and
  12900. so on -- may seem dull to its designers.  It may even seem dull to some
  12901. of its users.  But it should prove easy to learn.  Smart shortcuts,
  12902. i.e., the special design features that can make particular control
  12903. actions more efficient, should be provided only as optional extras, not
  12904. needed by novice users but offering some flexibility for experienced
  12905. users.
  12906.  
  12907. %p
  12908. Ideal flexibility would permit experienced users to undertake whatever
  12909. task or transaction is needed, at any time.  Although this may not
  12910. always prove feasible, the interface designer should try to provide the
  12911. maximum possible user control of the on-line transaction sequence.  As a
  12912. simple example, a user who is scanning a multipage data display should
  12913. be able to go either forward or back at will.  If interface software
  12914. only permits stepping forward, so that users must cycle through the
  12915. entire display set to reach a previous page, that design is inefficient.
  12916. Users should also be able to interrupt display scanning at any point to
  12917. initiate some other transaction.  Such simple flexibility is relatively
  12918. easy for the designer to achieve, and indeed is commonly provided.
  12919.  
  12920. %p
  12921. More difficult are transactions that involve potential change to stored
  12922. data.  Here again users will need flexibility in sequence control,
  12923. perhaps wishing to back up in a data entry sequence to change previous
  12924. items, or to cancel and restart the sequence, or to end the sequence
  12925. altogether and escape to some other task.  The interface designer can
  12926. provide such flexibility through use of suspense files and other special
  12927. programmed features.  That flexibility may require extra effort from the
  12928. software programmer.  But that extra effort is made only once, and is a
  12929. worthwhile investment on behalf of future users who may interact with
  12930. their computer system for months or even years.
  12931.  
  12932. %p
  12933. Of course, flexibility of sequence control has pitfalls.  Just as users
  12934. can make mistakes in data entry, so also will users make mistakes in
  12935. sequence control.  The interface designer must try to anticipate user
  12936. errors and ensure that potentially damaging actions are difficult to
  12937. take.  In most data entry tasks, for example, simple keying of data
  12938. items should not in itself initiate computer processing.  The user
  12939. should have to take some further, explicit action to ENTER the data.
  12940. The interface logic should be designed to protect the user from the
  12941. consequences of inadvertently destructive actions.  Any large-scale
  12942. erasure or deletion of data, for example, should require some sort of
  12943. explicit user confirmation, being accomplished as a two-step process
  12944. rather than by a single keystroke.  (This provides a software analogy to
  12945. the physical barriers sometimes used to protect critical hardware
  12946. controls from accidental activation.) Some well-designed systems go a
  12947. step further and permit the user to reverse (UNDO) a mistaken action
  12948. already taken.
  12949.  
  12950. %p
  12951. One form of flexibility frequently recommended is the provision of
  12952. alternate modes of sequence control for experienced and inexperienced
  12953. users.  In a command-language dialogue, optional guidance might be
  12954. provided to prompt a beginner step by step in the composition of
  12955. commands, whereas an experienced user might enter a complete command as
  12956. a single complex input.  Some such flexibility in the user interface is
  12957. surely desirable -- so that the computer can interpret halting, stepwise
  12958. control inputs, as well as fluent, coherent commands.
  12959.  
  12960. %p
  12961. More generally, however, it may be desirable to include redundant modes
  12962. of sequence control in user interface design, perhaps involving
  12963. combinations of different dialogue types.  As an example, menu selection
  12964. might be incorporated to provide easy sequence control for beginners,
  12965. but every display frame might also be formatted to include a standard
  12966. field where an experienced user could enter complete commands more
  12967. efficiently.  Examples of that approach have been provided by Palme
  12968. (1979).
  12969.  
  12970. %p
  12971. Another way to provide flexibility in sequence control is through
  12972. specific tailoring of display formats.  Consider, for example, a menu
  12973. selection dialogue in which sequence control is exercised through
  12974. lightpen selection among displayed control options.  For any particular
  12975. display frame it might be possible to display just three or four options
  12976. most likely to be selected by a user at that point in the task sequence,
  12977. plus a general purpose OPTIONS selection that could be used to call out
  12978. a display of other (less likely) commands.  Thus, on the first page of a
  12979. two-page display set, one of the likely commands would be NEXT PAGE; but
  12980. on the second page that command would be replaced by its more likely
  12981. complement, PREV PAGE.
  12982.  
  12983. %p
  12984. This approach illustrates two design ideas.  The first comes close to
  12985. being a general principle for sequence control: make the user's most
  12986. frequent transactions the easiest to accomplish.  The second idea is the
  12987. reliance on context to improve flexibility.  These general ideas
  12988. concerning sequence control are reflected in the specific design
  12989. guidelines proposed in the following pages.
  12990.  
  12991. %p Objectives
  12992. Consistency of control actions
  12993. Minimal control actions by user
  12994. Minimal memory load on user
  12995. Compatibility with task requirements
  12996. Flexibility of sequence control
  12997. %a "3.0    General"
  12998.  
  12999. %p
  13000. Sequence control refers to user actions and computer logic that
  13001. initiate, interrupt, or terminate transactions.
  13002. %g "3.0/1      Flexible Sequence Control"
  13003.  
  13004. %p
  13005. Provide flexible means of sequence control so that users can accomplish
  13006. necessary transactions involving data entry, display, and transmission,
  13007. or can obtain guidance as needed in connection with any transaction.
  13008.  
  13009. %p "Example"
  13010. In scanning a multipage display the user should be able to go forward or
  13011. back at will.  If user interface design permits only forward steps, so
  13012. that the user must cycle through an entire display series to reach a
  13013. previous page, that design is deficient.
  13014.  
  13015. %p "Comment"
  13016. Necessary transactions should be defined in task analysis prior to
  13017. software design.
  13018.  
  13019. %p "Reference"
  13020. PR 4.0
  13021. %g "3.0/2      Minimal User Actions"
  13022.  
  13023. %p
  13024. Ensure that control actions are simple, particularly for real-time tasks
  13025. requiring fast user response; control logic should permit completion of
  13026. a transaction sequence with the minimum number of actions consistent
  13027. with user abilities.
  13028.  
  13029. %p "Example"
  13030. A user should be able to print a display by simple request, without
  13031. having to take a series of other actions first, such as calling for the
  13032. display to be filed, specifying a file name, then calling for a print of
  13033. that named file.
  13034.  
  13035. %p "Example"
  13036. For long, multipage displays, it should be possible to request a
  13037. particular page directly, without having to take repetitive NEXT PAGE or
  13038. PREV PAGE actions.
  13039.  
  13040. %p "Exception"
  13041. A destructive action will be less likely to be taken by mistake, if it
  13042. is designed to be different or distinctive, requiring extra user
  13043. actions.
  13044.  
  13045. %p "Comment"
  13046. Shortcuts via direct commands should allow experienced users to by-pass
  13047. intervening steps that may help beginners.  The computer should be
  13048. programmed to handle automatically any intervening processing that may
  13049. be required, informing the user what has been done if that becomes
  13050. necessary (as in the case of a detected error).
  13051.  
  13052. %p "Reference"
  13053. BB 2.4.1 4.5
  13054. MS 5.15.4.6.4
  13055.  
  13056. %p "See also"
  13057. 4.0/24
  13058. %g "3.0/3      Control Matched to User Skill"
  13059.  
  13060. %p
  13061. Ensure that the means of sequence control are compatible with user
  13062. skills, permitting simple step-by-step actions by beginners, but
  13063. permitting more complex command entry by experienced users.
  13064.  
  13065. %p "Comment"
  13066. Most systems will have users with varying levels of experience.  Any
  13067. particular user may become more expert with increasing experience, or
  13068. perhaps less expert after a long period of disuse.  Accommodating users
  13069. of varying expertise will usually require a mixture of different
  13070. dialogue types, with some means for smooth transition from one mode of
  13071. dialogue to another.  For instance, as a user comes to learn menu codes,
  13072. s/he might be allowed to enter those codes without necessarily
  13073. displaying a menu, i.e., those codes might also serve as commands.
  13074.  
  13075. %p "Reference"
  13076. BB 4.5
  13077. Badre 1984
  13078. Gilfoil 1982
  13079.  
  13080. %p "See also"
  13081. 4.4/31 3.1
  13082. %g "3.0/4      User Initiative in Sequence Control"
  13083.  
  13084. %p
  13085. Allow users to take initiative and control their interaction with the
  13086. computer; try to anticipate user requirements and provide appropriate
  13087. user control options and computer responses in all cases.
  13088.  
  13089. %p "Comment"
  13090. In most applications, a user should be able to interrupt or terminate
  13091. any transaction once it has been initiated (see Section 3.3).  Users
  13092. will sometimes change their minds and decide that an initiated
  13093. transaction is not what was wanted after all.
  13094.  
  13095. %p "Comment"
  13096. Software logic should be "bulletproofed" to anticipate every possible
  13097. action by a user, no matter how improbable, providing an appropriate
  13098. computer response for random (or even malicious) inputs as well as for
  13099. correct entries and likely errors.  In particular, a dialogue should
  13100. never reach a dead end with no further action available to the user.  If
  13101. a user makes an entry inappropriate to current processing logic, the
  13102. computer should simply display an advisory message that the input cannot
  13103. be recognized and indicate the available options as to what can be done
  13104. next.
  13105.  
  13106. %p "Reference"
  13107. BB 4.2.5.1
  13108. PR 2.2
  13109.  
  13110. %p "See also"
  13111. 4.4/5
  13112. %g "3.0/5      Control by Explicit User Action"
  13113.  
  13114. %p
  13115. Allow users to control transaction sequencing by explicit action; defer
  13116. computer processing until an explicit user action has been taken.
  13117.  
  13118. %p "Example"
  13119. When a user is keying an extended data entry, the computer should not
  13120. interrupt the user to require immediate correction of any entry error,
  13121. but instead should wait for the user's ENTER action.
  13122.  
  13123. %p "Example"
  13124. When a user is composing a command to accomplish some transaction, the
  13125. computer should not interrupt the user by responding as soon as it
  13126. recognizes a partial entry, but instead should wait for the user's ENTER
  13127. action.
  13128.  
  13129. %p "Exception"
  13130. In automated process control applications, emergency conditions may take
  13131. precedence over current user transactions, and a computer-generated
  13132. warning might interrupt user actions.
  13133.  
  13134. %p "Exception"
  13135. In routine, repetitive data entry transactions, successful completion of
  13136. one entry may lead automatically to initiation of the next, as in keying
  13137. ZIP codes at an automated post office.
  13138.  
  13139. %p "Comment"
  13140. If the computer interrupts a user, it pre-empts the initiative in
  13141. sequence control, in effect forcing the user into an error correction
  13142. (or some other) sequence conceived by the interface designer, and not
  13143. necessarily a sequence that would be chosen by the user.
  13144.  
  13145. %p "Comment"
  13146. Some interface designers devise computer interruptions that they suppose
  13147. will help a user, as when they program a computer to complete a partial
  13148. command automatically as soon as it recognizes the user's intended
  13149. entry.  Many users, however, will find unexpected computer interruptions
  13150. more disconcerting than helpful, and may become confused at least
  13151. momentarily as to just what they had intended.
  13152.  
  13153. %p "Comment"
  13154. In general, computer detection of problems with current user entries can
  13155. be negotiated at the conclusion of a transaction, before it is
  13156. implemented.  Nondisruptive alarms or advisory messages can be displayed
  13157. to report computer monitoring of external events so that the user can
  13158. choose when to deal with them.
  13159.  
  13160. %p "See also"
  13161. 1.0/9 1.1/4 1.4/1 4.0/2 6.0/9 6.3/5
  13162. %g "3.0/6      Consistent User Actions"
  13163.  
  13164. %p
  13165. Ensure that sequence control actions are consistent in form and
  13166. consequences; employ similar means to accomplish ends that are similar,
  13167. from one transaction to the next, from one task to another, throughout
  13168. the user interface.
  13169.  
  13170. %p "Comment"
  13171. In particular, there should be some standard, consistent routine for a
  13172. user to initiate and terminate the transaction sequences that comprise
  13173. different tasks.  Do not require users to learn different command names
  13174. to terminate different tasks, or remember to terminate one task by
  13175. command and another by function key.
  13176.  
  13177. %p "Comment"
  13178. Interface designers may sometimes be tempted to deviate from consistent
  13179. control syntax in order to minimize keystrokes in a particular
  13180. transaction.  Or designers may wish to add a new, improved syntax for
  13181. functions added later in system development.  Though such
  13182. inconsistencies may in each case be intended to help users, they will
  13183. make all functions more difficult for users to learn.
  13184.  
  13185. %p "Reference"
  13186. Mooers 1983
  13187. Reisner 1981
  13188.  
  13189. %p "See also"
  13190. 4.0/1
  13191. %g "3.0/7      Logical Transaction Sequences"
  13192.  
  13193. %p
  13194. When designing a sequence of related transactions for some information
  13195. handling task, employ task analysis to ensure that those transactions
  13196. will constitute a logical unit or subtask from a user's viewpoint, and
  13197. to determine what control options users will need at any point.
  13198.  
  13199. %p "Comment"
  13200. A logical unit to the user is not necessarily the same as a logical unit
  13201. of the computer software that mediates the transaction sequence.  It
  13202. might be, for example, that a user should enter ten items of data in a
  13203. single transaction, because those data all come from one particular
  13204. paper form, even though the computer will use five of those items for
  13205. one purpose and five items for another in its subsequent internal
  13206. processing.
  13207.  
  13208. %p "Reference"
  13209. PR 5.1
  13210. Stewart 1980
  13211.  
  13212. %p "See also"
  13213. 4.0/1
  13214. %g "3.0/8      Distinctive Display of Control Information"
  13215.  
  13216. %p
  13217. Design all displays so that features relevant to sequence control are
  13218. distinctive in position and/or format.
  13219.  
  13220. %p "Comment"
  13221. Relevant features include displayed options, command entry areas,
  13222. prompts, advisory messages, and other displayed items (titles, time
  13223. signals, etc.) whose changes signal the results of control entries.
  13224.  
  13225. %p "See also"
  13226. 2.5/2 4.0/6
  13227. %g "3.0/9      Displayed Context"
  13228.  
  13229. %p
  13230. If the consequences of a control entry will differ depending upon
  13231. context established by a prior action, then display some continuous
  13232. indication of current context for reference by the user.
  13233.  
  13234. %p "Example"
  13235. If activating a DELETE key establishes a mode, so that subsequent
  13236. selection of a PAGE key will erase a page of data rather than simply
  13237. advancing to display the next page, then some indication of that
  13238. established DELETE mode should be displayed to the user.
  13239.  
  13240. %p "Comment"
  13241. Do not rely on the user always to remember prior actions, nor to
  13242. understand their current implications.
  13243.  
  13244. %p "See also"
  13245. 4.4/13 3.4
  13246. %g "3.0/10     Consistent Terminology for Sequence Control"
  13247.  
  13248. %p
  13249. For instructional material, such as display labeling, on-line guidance
  13250. and other messages to users, adopt consistent terminology to refer to
  13251. sequence control.
  13252.  
  13253. %p "Example"
  13254. Various words and phrases might be used, such as "control input",
  13255. "command entry", "instruction", "request", "function call", etc.  The
  13256. practice adopted in these guidelines is to call general sequence control
  13257. actions "control entry".  More specific terminology is sometimes used
  13258. here, such as "command entry" for keyed control entries composed by the
  13259. user, "code entry" for keyed selections from displayed menus, etc.
  13260.  
  13261. %p "See also"
  13262. 4.0/15
  13263. %g "3.0/11     +  Congruent Names for Control Functions"
  13264.  
  13265. %p
  13266. When selecting names for sequence control functions, choose names that
  13267. are semantically congruent with natural usage, especially for paired
  13268. opposites.
  13269.  
  13270. %p "Example"
  13271. If one function name is UP, then DOWN (rather than LOWER, say) should
  13272. accomplish an opposite function; PULL should be reversed by PUSH;
  13273. FORWARD by BACKWARD; RIGHT by LEFT; IN by OUT; etc.
  13274.  
  13275. %p "Comment"
  13276. A user who learns one function name will assume that s/he can accomplish
  13277. an opposite function by using a semantically opposite name.  One
  13278. implication is that names for sequence control functions should not be
  13279. chosen independently.  Another implication is that understanding a
  13280. user's natural vocabulary is important for selecting good function
  13281. names.
  13282.  
  13283. %p "Reference"
  13284. Carroll 1982
  13285. %g "3.0/12     +  Upper and Lower Case Equivalent"
  13286.  
  13287. %p
  13288. For interpreting user-composed control entries, treat upper and lower
  13289. case letters as equivalent.
  13290.  
  13291. %p "Comment"
  13292. Users find it difficult to remember whether upper or lower case letters
  13293. are required, and so the interface design should not try to make such a
  13294. distinction.
  13295.  
  13296. %p "See also"
  13297. 1.0/27 1.3/10
  13298. %g "3.0/13     +  Wording Consistent with User Guidance"
  13299.  
  13300. %p
  13301. Ensure that the wording and required format of control functions is
  13302. reflected consistently in the wording of user guidance, including all
  13303. labels, messages, and instructional material.
  13304.  
  13305. %p "Example"
  13306.  (Good) | To delete a paragraph, press |
  13307.         | DELETE and then PARAGRAPH.   |
  13308.  
  13309.  (Bad)  | If a paragraph must be erased,   |
  13310.         | press DELETE and then PARAGRAPH. |
  13311.  
  13312. %p "Example"
  13313. When the computer displays a file name, that name should be shown in a
  13314. format that would be acceptable if the name were included in a command
  13315. entry; do not display a capitalized name if the computer will not accept
  13316. a capitalized entry.
  13317.  
  13318. %p "Example"
  13319. If a user must complete a control form to specify printer settings, the
  13320. words used as labels on that form should also be used in any error
  13321. messages and HELP displays which may guide that process.
  13322.  
  13323. %p "Comment"
  13324. When selecting or composing control entries, a user will tend to mimic
  13325. the vocabulary, format, and word order used in computer displays,
  13326. including labels, error messages, HELP displays, etc.  If displayed
  13327. wording is consistent with required entries, a user will be more likely
  13328. to make a correct entry on the first try.
  13329.  
  13330. %p "Comment"
  13331. Consistency in wording will be particularly helpful for dialogues based
  13332. on constrained natural language.  If a designer begins by determining
  13333. which words and formats users are likely to choose naturally, and then
  13334. reinforces that usage by incorporating such wording in user guidance,
  13335. much of a user's interaction with the computer will be predictable.
  13336. Therefore the "natural language" need not accommodate the full range of
  13337. possible entries, but only those entries which users are likely to make.
  13338.  
  13339. %p "Reference"
  13340. Good Whiteside Wixon Jones 1984
  13341. Mooers 1983
  13342. Zoltan-Ford 1984
  13343.  
  13344. %p "See also"
  13345. 2.0/7 3.1.7/1 4.0/18
  13346. %g "3.0/14     Feedback for Control Entries"
  13347.  
  13348. %p
  13349. Ensure that the computer acknowledges every control entry immediately;
  13350. for every action by the user there should be some apparent reaction from
  13351. the computer.
  13352.  
  13353. %p "Example"
  13354. Execution of a requested transaction might produce an immediately
  13355. apparent result, as when a user requests NEXT PAGE and the next page is
  13356. displayed.
  13357.  
  13358. %p "Example"
  13359. A message might indicate completion of a transaction, as when a user
  13360. requests printout at a remote facility and the computer displays a
  13361. confirming message
  13362.           | AIRFIELD file has been sent to printer. |
  13363.  
  13364. %p "Example"
  13365. A message might indicate that execution is in progress or deferred, as
  13366. when a user enters data and the computer displays an interim message
  13367.           | AIRFIELD file is being updated. |
  13368.  
  13369. %p "Example"
  13370. A message might indicate that the control entry requires correction or
  13371. confirmation, as when a user requests file display and the computer
  13372. displays an error message
  13373.           | "AIRFELD" file not recognized. |
  13374.  
  13375. %p "Comment"
  13376. In particular, the absence of computer response is not an acceptable
  13377. means of indicating that a control entry is being processed.
  13378.  
  13379. %p "Comment"
  13380. "Immediately" as used in this guideline must be interpreted in relation
  13381. to the response time requirements of different dialogue types.
  13382.  
  13383. %p "Reference"
  13384. BB 4.3.1 4.3.2
  13385. EG 4.2.5
  13386. MS 5.15.5.2 5.15.5.3 5.15.2.1.3
  13387. Foley Van Dam 1982
  13388.  
  13389. %p "See also"
  13390. 1.0/3 1.0/12 1.0/13 4.2/1 4.2/3 3.1
  13391. %g "3.0/15     +  Indicating Completion of Processing"
  13392.  
  13393. %p
  13394. When processing in response to a control entry is lengthy, give the user
  13395. some positive indication of subsequent completion, and appropriate
  13396. related information.
  13397.  
  13398. %p "Comment"
  13399. If a user is currently involved in some new transaction, then completion
  13400. of processing for a prior transaction should be indicated by
  13401. nondisruptive display of an appropriate advisory message.
  13402.  
  13403. %p "Comment"
  13404. If the outcome of a completed transaction may imply the need for further
  13405. user action, that should be indicated to the user.
  13406.  
  13407. %p "Reference"
  13408. BB 4.3.1
  13409. MS 5.15.5.2
  13410.  
  13411. %p "See also"
  13412. 4.2/4
  13413. %g "3.0/16     +  Compatibility with User Expectations"
  13414.  
  13415. %p
  13416. Ensure that the results of any control entry are compatible with user
  13417. expectations, so that a change in the state or value of a controlled
  13418. element is displayed in an expected or natural form.
  13419.  
  13420. %p "Example"
  13421. A control entry of NEXT PAGE should show the next frame of a current
  13422. display, and should not jump off to some other internally defined "page"
  13423. in the computer's data base.
  13424.  
  13425. %p "Example"
  13426. When the completion of a control entry is indicated by a special
  13427. function key, that key should be labeled ENTER (or some functionally
  13428. equivalent word) and should result in computer acknowledgment of the
  13429. entry.
  13430.  
  13431. %p "Comment"
  13432. Compatibility between user action and system response is an important
  13433. concept in human engineering design.  Interface designers should not
  13434. assume that user expectations will match their own.  User expectations
  13435. can be discovered by interview, questionnaire, and/or prototype testing.
  13436. Where no strong user expectations exist with respect to a particular
  13437. design feature, then designers can help establish valid user
  13438. expectations by careful consistency in interface design.
  13439.  
  13440. %p "Reference"
  13441. MS 5.15.4.1.12
  13442. Smith 1981b
  13443.  
  13444. %p "See also"
  13445. 1.0/10 1.1/15 1.1/19 3.0/6 4.2/1
  13446. %g "3.0/17     User-Paced Sequence Control"
  13447.  
  13448. %p
  13449. Allow users to pace control entries, rather than requiring users to keep
  13450. pace with computer processing or external events.
  13451.  
  13452. %p "Comment"
  13453. User pacing will let control entries be made in accord with a user's
  13454. current needs, attention span, and time available.
  13455.  
  13456. %p "Comment"
  13457. When user-paced control does not seem feasible, as in critical process
  13458. control applications, reconsider the general approach to task allocation
  13459. and user interface design, perhaps providing greater system automation
  13460. to ensure timely response.
  13461.  
  13462. %p "See also"
  13463. 1.0/8
  13464. %g "3.0/18     Appropriate Computer Response Time"
  13465.  
  13466. %p
  13467. Ensure that the speed of computer response to user control entries is
  13468. appropriate to the transaction involved; in general, the response should
  13469. be faster for those transactions perceived by a user to be simple.
  13470.  
  13471. %p "Example"
  13472. Computer response to a likely control entry, such as NEXT PAGE, should
  13473. be within 0.5-1.0 second; response to other simple entries should be
  13474. within 2.0 seconds; error messages should be displayed within 2-4
  13475. seconds.
  13476.  
  13477. %p "Comment"
  13478. Interface designers may need to consult with the intended system users
  13479. to decide upon appropriate computer response times for different
  13480. transactions.
  13481.  
  13482. %p "Reference"
  13483. EG Tables 2-3
  13484. MS Table XXIX
  13485. Foley Van Dam 1982
  13486. Miller 1968
  13487. Shneiderman 1984
  13488.  
  13489. %p "See also"
  13490. 1.0/4 4.2/2 4.3/11
  13491. %g "3.0/19     Control Availability"
  13492.  
  13493. %p
  13494. Allow users to make control entries as needed; a sequence of control
  13495. entries should not be delayed by delays in computer response.
  13496.  
  13497. %p "Comment"
  13498. It is recommended that control delays or lockouts not exceed 0.2
  13499. seconds.  In some applications, however, longer delay may be tolerable,
  13500. particularly if that has the effect of reducing variability in computer
  13501. response time.
  13502.  
  13503. %p "See also"
  13504. 1.0/4
  13505. %g "3.0/20     +  Indicating Control Lockout"
  13506.  
  13507. %p
  13508. If control entries must be delayed pending computer processing of prior
  13509. entries, then indicate that delay to the user.
  13510.  
  13511. %p "Example"
  13512. If processing delay results in control lockout, that could be signaled
  13513. by disappearance of the cursor from the display, or perhaps by a notable
  13514. change in the shape of the cursor, accompanied by an auditory signal.
  13515.  
  13516. %p "Comment"
  13517. In some applications it may be desirable to ensure that the keyboard and
  13518. other control devices are automatically locked until the user can begin
  13519. a new transaction.  This would be true when processing the current
  13520. transaction will affect the results of subsequent user actions.  In
  13521. other applications, it may be possible to permit users to continue work
  13522. while previous transactions are still being processed.
  13523.  
  13524. %p "Comment"
  13525. Deletion or change of a displayed cursor in itself may not be a
  13526. sufficient indicator of keyboard lockout.  Auditory signals will be
  13527. particularly helpful to a skilled touch-typist, who may not look at the
  13528. display when transcribing data entries.
  13529.  
  13530. %p "Comment"
  13531. Following control lockout, computer readiness to accept further entries
  13532. should be indicated to the user.
  13533.  
  13534. %p "See also"
  13535. 4.1/4
  13536. %g "3.0/21     +  Interrupt to End Control Lockout"
  13537.  
  13538. %p
  13539. In situations where control lockout does occur, provide the user with an
  13540. auxiliary means of control entry, such as a special function key, to
  13541. abort a transaction causing extended lockout.
  13542.  
  13543. %p "Comment"
  13544. Such an interrupt capability will be especially helpful if a user
  13545. recognizes that an error has been made and wants to stop an unneeded
  13546. transaction, acting like an UNDO command.
  13547.  
  13548. %p "Comment"
  13549. Alternatively, for some transactions it may be helpful to design this
  13550. interrupt as an END command that stops ongoing processing without
  13551. canceling it.  For example, if a user has asked the computer to scroll
  13552. ahead in a long file display, that user may simply wish to stop at a
  13553. certain point rather than returning to the beginning.
  13554.  
  13555. %p "See also"
  13556. 3.3/6
  13557. %g "3.0/22     Control by Simultaneous Users"
  13558.  
  13559. %p
  13560. When several users must interact with the system simultaneously, ensure
  13561. that control entries by one user do not interfere with those of another.
  13562.  
  13563. %p "Comment"
  13564. This requires careful interface design for applications where joint,
  13565. coordinated actions must be made by a group of users.
  13566.  
  13567. %p "Reference"
  13568. MS 5.15.4.6.5
  13569.  
  13570. %p "See also"
  13571. 6.0/4
  13572. %a "3.1    Dialogue Type"
  13573.  
  13574. %p
  13575. Dialogue types for sequence control must be designed to match the needs
  13576. of different tasks and different users
  13577. %g "3.1/1      Dialogue Matched to Task and User"
  13578.  
  13579. %p
  13580. Consider task requirements and associated user characteristics when
  13581. choosing dialogue type(s) and designing sequence control logic.
  13582.  
  13583. %p "Example"
  13584. When untrained users must choose among a fixed set of options (as in the
  13585. case of automated bank teller machines) labeled function keys might
  13586. suffice for sequence control; when options may be chosen from a larger
  13587. set (as in public information systems) menu selection will prove a more
  13588. efficient dialogue type.
  13589.  
  13590. %p "Example"
  13591. When users must make data and control entries in an arbitrary order,
  13592. perhaps mixed with queries (as in making flight reservations when
  13593. talking with a customer), then some mixture of function keys and command
  13594. entries will be required for effective operation.
  13595.  
  13596. %p "Comment"
  13597. A simple dictum is, "Know the user." However, if user characteristics
  13598. are variable, which is usually the case, then provide a variety of
  13599. dialogue types based on analysis of task requirements.
  13600.  
  13601. %p "Comment"
  13602. Choice of dialogue type(s) is a fundamental decision in interface
  13603. design.  Designers should consider that decision carefully.  A poor
  13604. choice can detract seriously from system usability and will be difficult
  13605. to change later.
  13606.  
  13607. %p "Reference"
  13608. MS 5.15.4.1.8
  13609. Martin 1973
  13610.  
  13611. %p "See also"
  13612. 3.0/3 4.4/31
  13613. %g "3.1/2      Appropriate Computer Response Time"
  13614.  
  13615. %p
  13616. Ensure that the speed of computer response to user entries is
  13617. appropriate to the type of dialogue; the response to menu selections,
  13618. function keys, and most entries during graphic interaction should be
  13619. immediate.
  13620.  
  13621. %p "Comment"
  13622. It is generally thought that maximum acceptable delay for computer
  13623. response to menu selection by lightpen is 1.0 second; for key activation
  13624. is 0.1 second; for cursor positioning by lightpen (as in graphic line
  13625. drawing) 0.1 second.
  13626.  
  13627. %p "Comment"
  13628. If computer response time will be slow, consider choosing other dialogue
  13629. types, such as command entry.
  13630.  
  13631. %p "Reference"
  13632. EG Tables 2-3
  13633. MS Table XXIX
  13634. Miller 1968
  13635.  
  13636. %p "See also"
  13637. 3.0/18 4.2/2
  13638. %a "3.1.1  Dialogue Type - Question and Answer"
  13639.  
  13640. %p
  13641. Question-and-answer dialogues, where the computer poses questions for a
  13642. user to answer, are suited to novice users.
  13643. %g "3.1.1/1    Question-and-Answer Dialogue"
  13644.  
  13645. %p
  13646. Consider question-and-answer dialogues for routine data entry tasks,
  13647. where data items are known and their ordering can be constrained, where
  13648. users will have little or no training, and where computer response is
  13649. expected to be moderately fast.
  13650.  
  13651. %p "Example"
  13652. In the automated collection of medical history data, a computer might
  13653. follow contingent branching logic in posing questions for patients to
  13654. answer.
  13655.  
  13656. %p "Comment"
  13657. Brief question-and-answer sequences can be used to supplement other
  13658. dialogue types for special purposes, such as for LOG-ON sequences, or
  13659. for resolving ambiguous control or data entries.
  13660.  
  13661. %p "Comment"
  13662. Where computer response to any single user entry may be slow, then the
  13663. aggregate time required to process a series of questions and answers may
  13664. be very slow.  In such a case, consider form filling as an alternative
  13665. dialogue type, where the user can enter a set of related "answers" as a
  13666. single transaction.
  13667. %g "3.1.1/2    Questions Displayed Singly"
  13668.  
  13669. %p
  13670. In question-and-answer dialogues, display each question separately; do
  13671. not require users to answer several questions at once.
  13672.  
  13673. %p "Comment"
  13674. A user may become confused in trying to deal with several questions at
  13675. once, particularly if the number of questions is variable from one
  13676. transaction to another.
  13677. %g "3.1.1/3    Recapitulating Prior Answers"
  13678.  
  13679. %p
  13680. When a series of computer-posed questions are interrelated, display
  13681. answers to previous questions when those will provide context to help a
  13682. user answer the current question.
  13683.  
  13684. %p "Comment"
  13685. Do not rely on a user to remember prior answers.
  13686.  
  13687. %p "Comment"
  13688. Another way to request a related series of user entries is to use a
  13689. form-filling dialogue rather than question-and-answer.
  13690.  
  13691. %p "See also"
  13692. 3.4/3
  13693. %g "3.1.1/4    Sequence Compatible with Source Documents"
  13694.  
  13695. %p
  13696. When questions prompt entry of data from a source document, ensure that
  13697. the question sequence will match the data sequence in the source
  13698. document.
  13699.  
  13700. %p "See also"
  13701. 1.4/25
  13702. %a "3.1.2  Dialogue Type - Form Filling"
  13703.  
  13704. %p
  13705. Form filling permits a user to enter a series of related data items or
  13706. control options as a single transaction.
  13707. %g "3.1.2/1    Form Filling for Data Entry"
  13708.  
  13709. %p
  13710. Consider form filling for tasks where some flexibility in data entry is
  13711. needed, such as the inclusion of optional as well as required items,
  13712. where users will have moderate training, and/or where computer response
  13713. may be slow.
  13714.  
  13715. %p "Example"
  13716. Form filling might be an appropriate dialogue type for a computer system
  13717. that helped users calculate income tax obligations.
  13718.  
  13719. %p "Comment"
  13720. Specific recommendations for the design of form-filling dialogues are
  13721. presented in Section 1.4 for data entry and in Section 2.2 for data
  13722. display.
  13723.  
  13724. %p "Reference"
  13725. MS 5.15.4.3.1
  13726.  
  13727. %p "See also"
  13728. 1.4 2.2
  13729. %g "3.1.2/2    Form Filling for Control Entry"
  13730.  
  13731. %p
  13732. Consider form filling as an aid for composing complex control entries.
  13733.  
  13734. %p "Example"
  13735. For a complex data retrieval request, a displayed form might indicate
  13736. the various control parameters that could be specified.
  13737.  
  13738. %p "Example"
  13739. For a print request, a displayed form might help a user invoke the
  13740. various format controls that are available.
  13741. %g "3.1.2/3    Defaults for Control Entry"
  13742.  
  13743. %p
  13744. Consider form filling as a means of displaying default values for the
  13745. parameters in complex control entries.
  13746.  
  13747. %p "Comment"
  13748. Default parameters permit users to compose potentially complicated
  13749. control entries by relatively simple actions.  If defaults have been
  13750. defined, they should be indicated to users.  A displayed form permits a
  13751. user to review (and confirm or change) default control values, just as a
  13752. user might review displayed defaults for data entry.
  13753.  
  13754. %p "Comment"
  13755. When only a few control parameters are involved, it may be feasible
  13756. simply to prompt users with guidance messages rather than by displaying
  13757. a control form.
  13758.  
  13759. %p "Reference"
  13760. EG 4.2.4
  13761.  
  13762. %p "See also"
  13763. 3.1.5/4
  13764. %g "3.1.2/4    Consistent Format for Control Forms"
  13765.  
  13766. %p
  13767. Ensure that forms for control entry are consistent in format; their
  13768. design should generally conform to guidelines for the design of data
  13769. entry forms.
  13770.  
  13771. %p "See also"
  13772. 1.4 2.2
  13773. %a "3.1.3  Dialogue Type - Menu Selection"
  13774.  
  13775. %p
  13776. Menu selection permits a user to specify control entries by pointing at
  13777. displayed options or keying associated codes.
  13778.  
  13779. %p "Example Menu Display
  13780. These sample displays represent portions of a large menu of word
  13781. processing functions.  The good menu indicates the current position in a
  13782. hierarchic menu structure.  Different levels in the hierarchic structure
  13783. are indicated by indentation.  This menu offers (bolded) control actions
  13784. for the most frequently used branch ("document management"), along with
  13785. options to select other branches in the menu hierarchy.  Selection of
  13786. another branch would show a similar menu display, offering control
  13787. actions within the selected branch, but without offering the control
  13788. actions shown here for document management.
  13789.  
  13790. %p
  13791. The bad menu shows an alternative design for the same functions.  The
  13792. bad menu lacks hierarchic structure, and does not distinguish between
  13793. control actions and options that merely select further menus.  The bad
  13794. menu would require several successive menu selections in order to take
  13795. frequent actions.
  13796.  
  13797. %p "Good Sample Menu Display"
  13798. |-------------------------------------------------------------|
  13799. | W : WORD PROCESSING MENU               GO= General Options  |
  13800. |                                                             |
  13801. |     D : DOCUMENT MANAGEMENT                                 |
  13802. |         C = Create                                          |
  13803. |             CF= Free format                                 |
  13804. |             CL= Letter                                      |
  13805. |             CM= Memo                                        |
  13806. |             CW= Wide format                                 |
  13807. |         E = Edit                                            |
  13808. |         P = Print                                           |
  13809. |         CO= COpy                                            |
  13810. |         RE= REname                                          |
  13811. |         DE= DElete                                          |
  13812. |         SP= SPelling check                                  |
  13813. |         I = Index                                           |
  13814. |                                                             |
  13815. |     T = Transferring documents                              |
  13816. |     L = List processing                                     |
  13817. |     S = Status information                                  |
  13818. |     U = User profile                                        |
  13819. |                                                             |
  13820. |                                                             |
  13821. | ENTER letter code to select action or another menu.         |
  13822. | <                                                           |
  13823. |-------------------------------------------------------------|
  13824.  
  13825. %p "Bad Sample Menu Display"
  13826. |-------------------------------------------------------------|
  13827. | C  =  Create a new document                                 |
  13828. |                                                             |
  13829. | CW =  Create a new wide document                            |
  13830. |                                                             |
  13831. | D  =  Delete a document                                     |
  13832. |                                                             |
  13833. | E  =  Edit an existing document                             |
  13834. |                                                             |
  13835. | F  =  Finished -- Exit                                      |
  13836. |                                                             |
  13837. | I  =  Index of documents                                    |
  13838. |                                                             |
  13839. | L  =  List Processing                                       |
  13840. |                                                             |
  13841. | M  =  More Menu selections                                  |
  13842. |                                                             |
  13843. | P  =  Print a document                                      |
  13844. |                                                             |
  13845. | S  =  Spelling Error Detection                              |
  13846. |                                                             |
  13847. |                                                             |
  13848. |                                                             |
  13849. | Type the letters followed by a RETURN                       |
  13850. | <                                                           |
  13851. |-------------------------------------------------------------|
  13852.  
  13853. %p
  13854. This bad menu display violates in some degree several design guidelines
  13855. in this section:
  13856.  
  13857. 3.1.3/21  Logical ordering of menu options
  13858. 3.1.3/22  Logical grouping of menu options
  13859. 3.1.3/23  Logical ordering of grouped options
  13860. 3.1.3/24  Labeling grouped options
  13861. 3.1.3/25  Hierarchic menus for sequential selection
  13862. 3.1.3/27  Minimal steps in sequential menu selection
  13863. 3.1.3/28  Easy selection of important options
  13864. 3.1.3/30  Indicating current position in menu structure
  13865. 3.1.3/31  Control options distinct from menu branching
  13866. 3.1.3/34  Return to general menu
  13867. %g "3.1.3/1    Menu Selection"
  13868.  
  13869. %p
  13870. Consider menu selection for tasks that involve choice among a
  13871. constrained set of alternative actions, that require little entry of
  13872. arbitrary data, where users may have little training, and where computer
  13873. response is relatively fast.
  13874.  
  13875. %p "Example"
  13876. Displayed menus are commonly used for function selection in text
  13877. processing, in graphic interaction, and a multitude of other
  13878. applications.
  13879.  
  13880. %p "Comment"
  13881. Lengthy menus are often formatted as separate displays.  Task-specific
  13882. menus, however, can sometimes be incorporated effectively along with
  13883. data displays, to provide a short list of appropriate control options.
  13884.  
  13885. %p "Comment"
  13886. Menu selection is, of course, a generally good means for control entry
  13887. by untrained users.  Menus can be used in conjunction with other
  13888. dialogue types, depending upon task requirements.  Sometimes a menu
  13889. selection might be clarified by a supplementary question-and-answer
  13890. dialogue.
  13891.  
  13892. %p "Comment"
  13893. If display output is slow, as on a printing terminal or on an electronic
  13894. display constrained by a low-bandwidth channel, it may be tiresome for a
  13895. user to wait for display of menu options, especially when selections
  13896. must be made from several sequentially displayed menus.  Under those
  13897. conditions, experienced users may wish to by-pass menu selections in
  13898. favor of direct command entry.
  13899.  
  13900. %p "Reference"
  13901. MS 5.15.4.2.1
  13902. %g "3.1.3/2    Single Selection Per Menu"
  13903.  
  13904. %p
  13905. Each menu display should permit only one selection by the user.
  13906.  
  13907. %p "Comment"
  13908. Novice users will be confused by any more complicated procedure, such as
  13909. a "Chinese menu" requiring one choice from Column A, one from Column B,
  13910. etc.
  13911.  
  13912. %p "Reference"
  13913. PR 4.6.5
  13914. %g "3.1.3/3    Single-Column List Format"
  13915.  
  13916. %p
  13917. When multiple menu options are displayed in a list, display each option
  13918. on a new line, i.e., format the list as a single column.
  13919.  
  13920. %p "Exception"
  13921. Displaying options in several columns may be considered where shortage
  13922. of display space dictates a compact format; if there are only a few
  13923. options, those might be displayed in a single row.
  13924.  
  13925. %p "Exception"
  13926. An interesting exception could be made for hierarchic menus, where a
  13927. high-level menu might be shown in the left column of a display,
  13928. accompanied by a lower-level menu in the right column whose options
  13929. change to reflect whatever selection is currently made from the
  13930. high-level menu.
  13931.  
  13932. %p "Comment"
  13933. A single-column list format will aid scanning and assimilation of
  13934. available options, especially for novice users.
  13935.  
  13936. %p "Reference"
  13937. MS 5.15.4.2.7
  13938.  
  13939. %p "See also"
  13940. 2.1/20
  13941. %g "3.1.3/4    Menu Selection by Pointing"
  13942.  
  13943. %p
  13944. When menu selection is the primary means of sequence control, and
  13945. especially if choices must be made from extensive lists of displayed
  13946. control options, permit option selection by direct pointing (e.g., by
  13947. touch display, lightpen, etc.).
  13948.  
  13949. %p "Exception"
  13950. If a capability for direct pointing is not provided (e.g., if pointing
  13951. involves separate manipulation of a mouse, or cursor positioning by key
  13952. action), then for long menus it may prove faster to permit menu
  13953. selection by keying associated option codes.
  13954.  
  13955. %p "Comment"
  13956. Pointing directly at a displayed option guarantees good display-control
  13957. compatibility.  Users do not have to note associated option codes and
  13958. enter them by key actions.
  13959.  
  13960. %p "Reference"
  13961. MS 5.15.2.5.1 5.15.4.2.2
  13962. Shinar Stern Bubis Ingram 1985
  13963. Thompson 1971
  13964.  
  13965. %p "See also"
  13966. 1.1/12
  13967. %g "3.1.3/5    +  Large Pointing Area for Option Selection"
  13968.  
  13969. %p
  13970. If menu selection is accomplished by pointing, as on touch displays,
  13971. design the acceptable area for pointing to be as large as consistently
  13972. possible, including at least the area of the displayed option label plus
  13973. a half-character distance around that label.
  13974.  
  13975. %p "Comment"
  13976. The larger the effective target area, the easier the pointing action
  13977. will be, and the less risk of error in selecting a wrong option by
  13978. mistake.
  13979.  
  13980. %p "Reference"
  13981. BB 2.12
  13982. EG 2.3.13 6.1.3
  13983.  
  13984. %p "See also"
  13985. 1.1/13
  13986. %g "3.1.3/6    +  Dual Activation for Pointing"
  13987.  
  13988. %p
  13989. If menu selection is accomplished by pointing, provide for dual
  13990. activation, in which the first action designates (positions a cursor at)
  13991. the selected option, followed by a separate second action that makes an
  13992. explicit control entry.
  13993.  
  13994. %p "Example"
  13995. On a touch display, the computer might display a separate ENTER box that
  13996. can be touched by a user to indicate that the cursor has been properly
  13997. positioned.
  13998.  
  13999. %p "Comment"
  14000. The two actions of cursor placement and entering should be compatible in
  14001. their design implementation.  If the cursor is positioned by keying,
  14002. then an ENTER key should be used to signal control entry.  If the cursor
  14003. is positioned by lightpen, provide a dual-action "trigger" on the
  14004. lightpen for cursor positioning and control entry.
  14005.  
  14006. %p "Comment"
  14007. This recommendation for dual activation of pointing assumes that
  14008. accuracy in selection of control entries is more important than speed.
  14009. In some applications that may not be true.  Interface design will
  14010. involve a trade-off considering the criticality of wrong entries, ease
  14011. of recovery from wrong entries, and user convenience in making
  14012. selections.
  14013.  
  14014. %p "Reference"
  14015. Foley Wallace 1974
  14016.  
  14017. %p "See also"
  14018. 1.0/9 1.1/4 3.0/5 6.0/9
  14019. %g "3.1.3/7    Menu Selection by Keyed Entry"
  14020.  
  14021. %p
  14022. When menu selection is a secondary (occasional) means of control entry,
  14023. and/or only short option lists are needed, then consider accomplishing
  14024. selection by keyed entry.
  14025.  
  14026. %p "Comment"
  14027. An option might be selected by keying an associated code which is
  14028. included in the displayed menu listing.  Alternatively, if menu labels
  14029. can be displayed near a screen margin, then an option might be selected
  14030. by pressing an adjacent multifunction key.
  14031. %g "3.1.3/8    +  Standard Area for Code Entry"
  14032.  
  14033. %p
  14034. When menu selection is accomplished by code entry, provide a standard
  14035. command entry area (window) where users enter the selected code; place
  14036. that entry area in a fixed location on all displays.
  14037.  
  14038. %p "Comment"
  14039. In a customary terminal configuration, where the display is located
  14040. above the keyboard, command entry should be at the bottom of the
  14041. display, in order to minimize user head/eye movement between the display
  14042. and the keyboard.
  14043.  
  14044. %p "Comment"
  14045. Experienced users might key coded menu selections in a standard area
  14046. identified only by its consistent location and use.  If the system is
  14047. designed primarily for novice users, however, that entry area should be
  14048. given an appropriate label, such as
  14049.           | ENTER choice here: ___. |
  14050.  
  14051. %p "Reference"
  14052. MS 5.15.4.2.2
  14053. PR 4.6.3
  14054.  
  14055. %p "See also"
  14056. 3.1.5/2 4.0/6
  14057. %g "3.1.3/9    Feedback for Menu Selection"
  14058.  
  14059. %p
  14060. When a user has selected and entered a control option from a menu, if
  14061. there is no immediately observable natural response then the computer
  14062. should display some other acknowledgment of that entry.
  14063.  
  14064. %p "Comment"
  14065. An explicit message might be provided.  In some applications, however,
  14066. it may suffice simply to highlight the selected option label (e.g., by
  14067. brightening or inverse video) when that would provide an unambiguous
  14068. acknowledgment.
  14069.  
  14070. %p "Reference"
  14071. MS 5.15.4.1.12
  14072.  
  14073. %p "See also"
  14074. 1.1/5 3.0/14 4.2/1 4.2/10
  14075. %g "3.1.3/10   Explanatory Title for Menu"
  14076.  
  14077. %p
  14078. Display an explanatory title for each menu, reflecting the nature of the
  14079. choice to be made.
  14080.  
  14081. %p "Example"
  14082.  (Good)                             (Bad)
  14083. | Organizational Role |            | Select:         |
  14084. | r = Responsible     |            | r = Responsible |
  14085. | a = Assigned        |            | a = Assigned    |
  14086. | p = Performing      |            | p = Performing  |
  14087.  
  14088. %p "Reference"
  14089. BB 1.9.1
  14090. %g "3.1.3/11   Menu Options Worded as Commands"
  14091.  
  14092. %p
  14093. The wording of menu options should consistently represent commands to
  14094. the computer, rather than questions to the user.
  14095.  
  14096. %p "Example"
  14097. For option selection by pointing, a "+" (or some other special symbol)
  14098. might be used consistently to distinguish a selectable control option
  14099. from other displayed items, as
  14100.  
  14101.           (Good)  | +PRINT |
  14102.  
  14103.           (Bad)   | PRINT? |
  14104.  
  14105. %p "Example"
  14106. For option selection by code entry, the code for each option should be
  14107. consistently indicated, as
  14108.  
  14109.           (Good)  | p = Print    |
  14110.  
  14111.           (Bad)   | Print? (Y/N) |
  14112.  
  14113. %p "Comment"
  14114. Wording options as commands will permit logical selection by pointing,
  14115. will facilitate the design of mnemonic codes for keyed entry, and will
  14116. help users learn commands in systems where commands can be used to
  14117. by-pass menus.
  14118.  
  14119. %p "Comment"
  14120. Wording options as commands implies properly that the initiative in
  14121. sequence control lies with the user.  Wording options as questions
  14122. implies initiative by the computer.
  14123.  
  14124. %p "Reference"
  14125. PR 4.6.8
  14126.  
  14127. %p "See also"
  14128. 3.1.3/20 4.0/23
  14129. %g "3.1.3/12   +  Option Wording Consistent with Command Language"
  14130.  
  14131. %p
  14132. If menu selection is used in conjunction with or as an alternative to
  14133. command language, design the wording and syntactic organization of
  14134. displayed menu options to correspond consistently to defined elements
  14135. and structure of the command language.
  14136.  
  14137. %p "Comment"
  14138. Where appropriate, display cumulative sequences of menu selections in a
  14139. command entry area until the user signals entry of a completely composed
  14140. command.
  14141.  
  14142. %p "Comment"
  14143. This practice will speed the transition for a novice user, relying
  14144. initially on sequential menu selection, to become an experienced user
  14145. composing coherent commands without such aid.
  14146.  
  14147. %p "Reference"
  14148. MS 5.15.4.2.9
  14149. Badre 1984
  14150.  
  14151. %p "See also"
  14152. 3.1.3/35 4.0/15
  14153. %g "3.1.3/13   Letter Codes for Menu Selection"
  14154.  
  14155. %p
  14156. If menu selections are made by keyed codes, design each code to be the
  14157. initial letter or letters of the displayed option label, rather than
  14158. assigning arbitrary letter or number codes.
  14159.  
  14160. %p "Example"
  14161.  (Good) | m = Male   |
  14162.         | f = Female |
  14163.  
  14164.  (Bad)  | 1 = Male   |
  14165.         | 2 = Female |
  14166.  
  14167. %p "Exception"
  14168. Options might be numbered when a logical order or sequence is implied.
  14169.  
  14170. %p "Exception"
  14171. When menu selection is from a long list, the line numbers in the list
  14172. might be an acceptable alternative to letter codes.
  14173.  
  14174. %p "Comment"
  14175. Several significant advantages can be cited for mnemonic letter codes.
  14176. Letters are easier than numbers for touch-typists to key.  It is easier
  14177. to memorize meaningful names than numbers, and thus letter codes can
  14178. facilitate a potential transition from menu selection to command
  14179. language when those two dialogue types are used together.  When menus
  14180. have to be redesigned, which sometimes happens, lettered options can be
  14181. reordered without changing codes, whereas numbered options might have to
  14182. be changed and so confuse users who have already learned the previous
  14183. numbering.
  14184.  
  14185. %p "Comment"
  14186. Interface designers should not create unnatural option labels just to
  14187. ensure that the initial letter of each will be different.  There must be
  14188. some natural differences among option names, and special two- or
  14189. three-letter codes can probably be devised as needed to emphasize those
  14190. differences.  In this regard, there is probably no harm in mixing
  14191. single-letter codes with special multiletter codes in one menu.
  14192.  
  14193. %p "Reference"
  14194. BB 1.3.6
  14195. MS 5.15.4.2.11
  14196. Palme 1979
  14197. Shinar Stern Bubis Ingram 1985
  14198.  
  14199. %p "See also"
  14200. 4.0/13
  14201. %g "3.1.3/14   +  Consistent Coding of Menu Options"
  14202.  
  14203. %p
  14204. If letter codes are used for menu selection, use those letters
  14205. consistently in designating options from one transaction to another.
  14206.  
  14207. %p "Example"
  14208. As a negative example, the same action should not be given different
  14209. names (and hence different codes) at different places in a transaction
  14210. sequence, such as
  14211.   (Bad)  | f = Forward |  and  | n = Next |
  14212.  
  14213. %p "Example"
  14214. As a negative example, the same code should not be given to different
  14215. actions
  14216.   (Bad)  | q = Quit |  and  | q = Queue |
  14217.  
  14218. %p "Comment"
  14219. Different codes for the same action will tend to confuse users and
  14220. impede learning.  The same code for different actions will tend to
  14221. induce user errors, especially if those actions are frequently taken.
  14222. However, this practice may be tolerable when selections are seldom
  14223. taken, and then always taken from labeled alternatives.
  14224.  
  14225. %p "See also"
  14226. 3.1.3/19 4.0/15
  14227. %g "3.1.3/15   +  Standard Symbol for Prompting Entry"
  14228.  
  14229. %p
  14230. Choose a standard symbol for indicating that an entry is required, and
  14231. reserve that symbol only for that purpose.
  14232.  
  14233. %p "Example"
  14234.  (Good) | ENTER organization type: |
  14235.  
  14236.  (Bad)  | ENTER organization type  |
  14237.  
  14238. %p "Comment"
  14239. Some standard prompting symbol, such as the colon shown in the example
  14240. here, will help to cue users that an input is required.  The same symbol
  14241. should be used to prompt data entries, code entries for menu selections,
  14242. command entries, etc.
  14243.  
  14244. %p "Reference"
  14245. BB 2.5.2
  14246.  
  14247. %p "See also"
  14248. 1.4/9 4.4/10
  14249. %g "3.1.3/16   Explicit Option Display"
  14250.  
  14251. %p
  14252. When control entries for any particular transaction will be selected
  14253. from a small set of options, show those options in a menu added to the
  14254. working display, rather than requiring a user to remember them or to
  14255. access a separate menu display.
  14256.  
  14257. %p "Comment"
  14258. A complete display of control options will sometimes leave little room
  14259. for display of data.  If an extensive menu must be added to a working
  14260. data display, provide that menu as a separate window that can
  14261. temporarily overlay displayed data at user request, but can then be
  14262. omitted again by further user action.
  14263.  
  14264. %p "Reference"
  14265. MS 5.15.4.1.5
  14266.  
  14267. %p "See also"
  14268. 4.4/5 2.7.5
  14269. %g "3.1.3/17   +  Complete Display of Menu Options"
  14270.  
  14271. %p
  14272. Design a menu to display all options appropriate to any particular
  14273. transaction.
  14274.  
  14275. %p "Exception"
  14276. A familiar set of general control options (i.e., options that are always
  14277. implicitly available) may be omitted from individual displays; such
  14278. general options might be selected by requesting a general menu, or
  14279. perhaps by function key or command entry.
  14280.  
  14281. %p "See also"
  14282. 4.4/1 3.2
  14283. %g "3.1.3/18   +  Menu Options Dependent on Context"
  14284.  
  14285. %p
  14286. Design a menu to display only those options that are actually available
  14287. in the current context for a particular user.
  14288.  
  14289. %p "Example"
  14290. Privileged users might be shown more options than regular users.
  14291.  
  14292. %p "Example"
  14293. Displayed file directories should contain only those files actually
  14294. available to the particular user.
  14295.  
  14296. %p "Example"
  14297. Offer a CHANGE option only to users who are authorized to make changes
  14298. to the particular data being displayed.
  14299.  
  14300. %p "Exception"
  14301. Menu displays for a system under development might display future
  14302. options not yet implemented, but such options should be specially marked
  14303. in some way so that users will understand that they are not available.
  14304.  
  14305. %p "Comment"
  14306. If a user selects a displayed option, and is then told that option is
  14307. not actually available, an undesirable element of unpredictability has
  14308. been introduced into the interface design.  Users may become uncertain
  14309. and confused about sequence control.  Also irritated.
  14310.  
  14311. %p "Reference"
  14312. BB 1.8.11
  14313. MS 5.15.4.2.3
  14314.  
  14315. %p "See also"
  14316. 3.2/10 4.4/1
  14317. %g "3.1.3/19   Consistent Display of Menu Options"
  14318.  
  14319. %p
  14320. When menus are provided in different displays, design them so that
  14321. option lists are consistent in wording and ordering.
  14322.  
  14323. %p "Example"
  14324. As a negative example, if | +PRINT | is the last option in one menu, the
  14325. same print option should not be worded | +COPY | at the beginning of
  14326. another menu.
  14327.  
  14328. %p "Reference"
  14329. MS 5.15.4.2.4
  14330.  
  14331. %p "See also"
  14332. 3.1.3/14 4.0/15
  14333. %g "3.1.3/20   Menus Distinct from Other Displayed Information"
  14334.  
  14335. %p
  14336. If menu options are included in a display that is intended also for data
  14337. review and/or data entry, which is often a practical design approach,
  14338. ensure that they are distinct from other displayed information; locate
  14339. menu options consistently in the display and incorporate some consistent
  14340. distinguishing feature to indicate their special function.
  14341.  
  14342. %p "Example"
  14343. All control options might be displayed beginning with a special symbol,
  14344. such as a plus sign
  14345.           | +NEXT |, | +BACK |, etc.
  14346.  
  14347. %p "Comment"
  14348. An interesting variation in menu design is the use of "embedded menus"
  14349. in which various items within a working display are highlighted in some
  14350. way to indicate that they can be selected to obtain further information.
  14351. Thus a text display of encyclopedia information might highlight certain
  14352. words as cross references to related material, words which can be
  14353. selected in context rather than from some separate menu listing.  Here
  14354. the selectable items are made visually distinct without being segregated
  14355. spatially.
  14356.  
  14357. %p "Reference"
  14358. Koved Shneiderman 1986
  14359.  
  14360. %p "See also"
  14361. 2.3/8 3.1.8/5 4.0/8
  14362. %g "3.1.3/21   Logical Ordering of Menu Options"
  14363.  
  14364. %p
  14365. List displayed menu options in a logical order; if no logical structure
  14366. is apparent, then display the options in order of their expected
  14367. frequency of use, with the most frequent listed first.
  14368.  
  14369. %p "Example"
  14370.  (Good) | i = Initiate track |
  14371.         | m = Move track     |
  14372.         | d = Delete track   |
  14373.  
  14374.  (Bad)  | d = Delete track   |
  14375.         | i = Initiate track |
  14376.         | m = Move track     |
  14377.  
  14378. %p "Example"
  14379. See sample displays in this section.
  14380.  
  14381. %p "Reference"
  14382. BB 2.9.4
  14383. EG 2.3.1
  14384. MS 5.15.4.2.5
  14385. PR 4.6.6
  14386. Palme 1979
  14387.  
  14388. %p "See also"
  14389. 2.3/2 2.5/17
  14390. %g "3.1.3/22   Logical Grouping of Menu Options"
  14391.  
  14392. %p
  14393. Format a menu to indicate logically related groups of options, rather
  14394. than as an undifferentiated string of alternatives.
  14395.  
  14396. %p "Example"
  14397. In vertical listing of options, subordinate categories might be
  14398. indented.
  14399.  
  14400. %p "Example"
  14401. See sample displays in this section.
  14402.  
  14403. %p "Comment"
  14404. Logical grouping of menu options will help users learn system
  14405. capabilities.
  14406.  
  14407. %p "Comment"
  14408. When logical grouping requires a trade-off against expected frequency of
  14409. use, interface designers should resolve that trade-off consistently for
  14410. those functions throughout the menu structure.
  14411.  
  14412. %p "Reference"
  14413. EG 2.2.8 2.3
  14414. Foley Wallace 1974
  14415. Liebelt McDonald Stone Karat 1982
  14416. McDonald Stone Liebelt 1983
  14417.  
  14418. %p "See also"
  14419. 4.4/3
  14420. %g "3.1.3/23   +  Logical Ordering of Grouped Options"
  14421.  
  14422. %p
  14423. If menu options are grouped in logical subunits, display those groups in
  14424. a logical order; if no logical structure is apparent, then display the
  14425. groups in the order of their expected frequency of use.
  14426.  
  14427. %p "Example"
  14428. See sample displays in this section.
  14429.  
  14430. %p "Reference"
  14431. PR 4.6.6
  14432. %g "3.1.3/24   +  Labeling Grouped Options"
  14433.  
  14434. %p
  14435. If menu options are grouped in logical subunits, give each group a
  14436. descriptive label that is distinctive in format from the option labels
  14437. themselves.
  14438.  
  14439. %p "Example"
  14440. See sample displays in this section.
  14441.  
  14442. %p "Comment"
  14443. Although this practice might sometimes seem to waste display space, it
  14444. will help provide user guidance.  Moreover, careful selection of group
  14445. labels may serve to reduce the number of words needed for individual
  14446. option labels.
  14447.  
  14448. %p "Reference"
  14449. MS 5.15.3.1.10
  14450.  
  14451. %p "See also"
  14452. 4.4/4
  14453. %g "3.1.3/25   Hierarchic Menus for Sequential Selection"
  14454.  
  14455. %p
  14456. When menu selection must be made from a long list, and not all options
  14457. can be displayed at once, provide a hierarchic sequence of menu
  14458. selections rather than one long multipage menu.
  14459.  
  14460. %p "Example"
  14461. See sample displays in this section.
  14462.  
  14463. %p "Exception"
  14464. Where a long list is already structured for other purposes, such as a
  14465. list of customers, a parts inventory, a file directory, etc., it might
  14466. be reasonable to require the user to scan multiple display pages to find
  14467. a particular item.  Even in such cases, however, an imposed structure
  14468. for sequential access may prove more efficient, as when a user can make
  14469. preliminary letter choices to access a long alphabetic list.
  14470.  
  14471. %p "Comment"
  14472. Beginning users may learn faster and understand better a menu permitting
  14473. a single choice from all available options, when those can be displayed
  14474. on one page.  However, a single long menu that extends for more than one
  14475. page will hinder learning and use.  The interface designer can usually
  14476. devise some means of logical segmentation to permit several sequential
  14477. selections among few alternatives instead of a single difficult
  14478. selection among many.
  14479.  
  14480. %p "Reference"
  14481. MS 5.15.4.2.6
  14482. Dray Ogden Vestewig 1981
  14483.  
  14484. %p "See also"
  14485. 4.4/4
  14486. %g "3.1.3/26   +  General Menu"
  14487.  
  14488. %p
  14489. Provide a general menu of basic options as the top level in a hierarchic
  14490. menu structure, a "home base" to which a user can always return as a
  14491. consistent starting point for control entries.
  14492.  
  14493. %p "Comment"
  14494. Return to the general menu might be accomplished by an OPTIONS function
  14495. key, or by an explicitly labeled option on every display, or by a
  14496. generally available implicit option.
  14497.  
  14498. %p "See also"
  14499. 3.1.3/34 3.2/2
  14500. %g "3.1.3/27   +  Minimal Steps in Sequential Menu Selection"
  14501.  
  14502. %p
  14503. When users must step through a sequence of menus to make a selection,
  14504. design the hierarchic menu structure to minimize the number of steps
  14505. required.
  14506.  
  14507. %p "Example"
  14508. See sample displays in this section.
  14509.  
  14510. %p "Comment"
  14511. This represents a trade-off against the need for logical grouping in
  14512. hierarchic menus.  Minimize the number of hierarchic levels, but not at
  14513. the expense of display crowding.
  14514.  
  14515. %p "Reference"
  14516. MS 5.15.4.1.6
  14517. Miller 1981
  14518. Snowberry Parkinson Sisson 1983
  14519. %g "3.1.3/28   +  Easy Selection of Important Options"
  14520.  
  14521. %p
  14522. When hierarchic menus are used, design their structure to permit
  14523. immediate user access to critical or frequently selected options.
  14524.  
  14525. %p "Example"
  14526. See sample displays in this section.
  14527.  
  14528. %p "Comment"
  14529. It may be desirable in general purpose systems whose use is varied and
  14530. unpredictable, to permit users to tailor menu design (particularly the
  14531. general menu) to their individual needs, so that the options used most
  14532. frequently will appear first for each user.
  14533.  
  14534. %p "Comment"
  14535. In designing fixed hierarchic menus, if frequent or critical options do
  14536. appear logically at lower levels, and so will be less accessible, some
  14537. design alternatives should be considered.  For a critical action, some
  14538. sort of "panic" option might be included in every menu display, or might
  14539. be implemented by function key.  For frequent actions, some special menu
  14540. display might be provided as a supplementary shortcut to the designed
  14541. menu hierarchy.
  14542.  
  14543. %p "Reference"
  14544. MS 5.15.4.2.8
  14545.  
  14546. %p "See also"
  14547. 3.1.4/2
  14548. %g "3.1.3/29   +  Automatic Cursor Placement"
  14549.  
  14550. %p
  14551. On separate menu displays (i.e., for menus not included with data
  14552. displays), when menu selection is by pointing the computer should place
  14553. the cursor automatically at the first listed option; when menu selection
  14554. is by code entry, place the cursor in the command entry area.
  14555.  
  14556. %p "Comment"
  14557. When menu selection is by code entry, for some applications it may
  14558. increase the efficiency of sequence control if a null entry is
  14559. recognized as a default to the first displayed option (assuming that the
  14560. first option is the most likely choice).  If that is done, it should be
  14561. done consistently.
  14562.  
  14563. %p "See also"
  14564. 1.4/28
  14565. %g "3.1.3/30   Indicating Current Position in Menu Structure"
  14566.  
  14567. %p
  14568. When hierarchic menus are used, display to the user some indication of
  14569. current position in the menu structure.
  14570.  
  14571. %p "Example"
  14572. See sample displays in this section.
  14573.  
  14574. %p "Comment"
  14575. One possible approach would be to recapitulate prior (higher) menu
  14576. selections on the display.  If routine display of path information seems
  14577. to clutter menu formats, then a map of the menu structure might be
  14578. provided at user request as a HELP display.
  14579.  
  14580. %p "Reference"
  14581. MS 5.15.4.1.6
  14582. Billingsley 1982
  14583.  
  14584. %p "See also"
  14585. 4.4/4
  14586. %g "3.1.3/31   +  Control Options Distinct from Menu Branching"
  14587.  
  14588. %p
  14589. Format the display of hierarchic menus so that options which actually
  14590. accomplish control entries can be distinguished from options which
  14591. merely branch to other menu frames.
  14592.  
  14593. %p "Example"
  14594. See sample displays in this section.
  14595.  
  14596. %p "Comment"
  14597. In some applications, it may prove efficient to design "hybrid" menus
  14598. which display one branch of the menu hierarchy elaborated to include all
  14599. of its control options while other branches are simply indicated by
  14600. summary labels.  In such a hybrid menu, it will help orient users if
  14601. options that accomplish control actions are highlighted in some way to
  14602. distinguish them from options which will result in display of other
  14603. frames of the hierarchic menu.
  14604. %g "3.1.3/32   +  Consistent Design of Hierarchic Menus"
  14605.  
  14606. %p
  14607. When hierarchic menus are used, ensure that display format and selection
  14608. logic are consistent at every level.
  14609.  
  14610. %p "Reference"
  14611. MS 5.15.4.1.6
  14612.  
  14613. %p "See also"
  14614. 4.0/6
  14615. %g "3.1.3/33   +  Return to Higher-Level Menus"
  14616.  
  14617. %p
  14618. When hierarchic menus are used, require users to take only one simple
  14619. key action to return to the next higher level.
  14620.  
  14621. %p "Comment"
  14622. This action could be considered analogous to the BACKUP option proposed
  14623. as an interrupt for sequence control.
  14624.  
  14625. %p "Reference"
  14626. BB 4.4.4
  14627.  
  14628. %p "See also"
  14629. 3.3/4
  14630. %g "3.1.3/34   +  Return to General Menu"
  14631.  
  14632. %p
  14633. When hierarchic menus are used, require users to take only one simple
  14634. key action to return to the general menu at the top level.
  14635.  
  14636. %p "Example"
  14637. See sample displays in this section.
  14638.  
  14639. %p "Comment"
  14640. This action could be considered analogous to the REVIEW option proposed
  14641. as an interrupt for sequence control.
  14642.  
  14643. %p "See also"
  14644. 3.1.3/26 3.3/5
  14645. %g "3.1.3/35   By-Passing Menu Selection with Command Entry"
  14646.  
  14647. %p
  14648. Allow experienced users to by-pass a series of menu selections and make
  14649. an equivalent command entry directly.
  14650.  
  14651. %p "Comment"
  14652. In effect, a command entry might specify an option anywhere in a
  14653. hierarchic menu structure, permitting a user to jump down several
  14654. levels, or to move directly from one branch to another.
  14655.  
  14656. %p "Comment"
  14657. If a command by-passes only a portion of the complete menu sequence, and
  14658. so does not yet specify a complete control entry, then display the
  14659. appropriate next menu to guide completion of the control entry.
  14660.  
  14661. %p "Reference"
  14662. BB 2.8 4.5
  14663. PR 4.7.3
  14664. Badre 1984
  14665.  
  14666. %p "See also"
  14667. 3.0/2 3.1.3/12 4.4/31
  14668. %g "3.1.3/36   +  Stacking Menu Selections"
  14669.  
  14670. %p
  14671. For menu selection by code entry, when a series of selections can be
  14672. anticipated before the menus are displayed, permit a user to combine
  14673. those selections into a single "stacked" entry.
  14674.  
  14675. %p "Comment"
  14676. If necessary, stacked sequential entries might be separated by some
  14677. character, such as a space, slash, comma or semicolon.  It would be
  14678. preferable, however, if they were simply strung together without special
  14679. punctuation.  Computer interpretation of an unpunctuated string will
  14680. require letter codes (by preference) or fixed-digit number codes for
  14681. option selection.
  14682.  
  14683. %p "Reference"
  14684. BB 2.9
  14685. Badre 1984
  14686.  
  14687. %p "See also"
  14688. 3.1.3/13 3.2/13 3.2/14 3.2/15 3.2/16 3.2/17 3.5/4 3.5/5
  14689. %a "3.1.4  Dialogue Type - Function Keys"
  14690.  
  14691. %p
  14692. Function keys permit control entries by direct selection of labeled
  14693. keys, rather than from displayed menus.
  14694. %g "3.1.4/1    Function Keys for Critical Control Entries"
  14695.  
  14696. %p
  14697. Consider function keys for tasks requiring only a limited number of
  14698. control entries, or for use in conjunction with other dialogue types as
  14699. a ready means of accomplishing critical entries that must be made
  14700. quickly without syntax error.
  14701.  
  14702. %p "Reference"
  14703. BB 4.4
  14704. MS 5.15.2.3.1 5.15.4.4
  14705. %g "3.1.4/2    +  Function Keys for Frequent Control Entries"
  14706.  
  14707. %p
  14708. Consider function keys for frequently required control entries.
  14709.  
  14710. %p "Example"
  14711. Commonly used function keys include ENTER, PRINT, NEXT PAGE, PREV PAGE,
  14712. OPTIONS, etc.
  14713.  
  14714. %p "Comment"
  14715. When frequently used options are always available via function keys,
  14716. they need not be included in displayed menus.
  14717.  
  14718. %p "Reference"
  14719. BB 4.4
  14720. MS 5.15.2.3.1
  14721.  
  14722. %p "See also"
  14723. 3.1.3/28 3.2
  14724. %g "3.1.4/3    +  Function Keys for Interim Control Entries"
  14725.  
  14726. %p
  14727. Consider function keys for interim control entries, i.e., for control
  14728. actions taken before the completion of a transaction.
  14729.  
  14730. %p "Example"
  14731. Function keys will aid such interim actions as DITTO, CONFIRM, and
  14732. requests for PRINT, or HELP, and also interrupts such as BACKUP, CANCEL,
  14733. etc.
  14734.  
  14735. %p "Comment"
  14736. Interim control refers to an action taken by a user while working with
  14737. displayed data, e.g., while still keying data entries or changes, etc.
  14738. Function keys will aid interim control entries partly because those
  14739. entries may be frequent.  More importantly, however, function keys
  14740. permit those control entries to be made without special cursor
  14741. positioning, so that they do not interfere with data entry.
  14742. %g "3.1.4/4    Distinctive Labeling of Function Keys"
  14743.  
  14744. %p
  14745. Label each function key informatively to designate the function it
  14746. performs; make labels sufficiently different from one another to prevent
  14747. user confusion.
  14748.  
  14749. %p "Example"
  14750. As a negative example of uninformative labeling, cited from an actual
  14751. design, logging onto a system should not be initiated by a key labeled
  14752. PANIC.
  14753.  
  14754. %p "Example"
  14755. As a negative example of confusingly similar labeling, two keys should
  14756. not be labeled ON and DN.
  14757.  
  14758. %p "Reference"
  14759. BB 4.4.7
  14760. MS 5.15.2.3.9 5.15.3.1.10.c
  14761.  
  14762. %p "See also"
  14763. 4.0/10
  14764. %g "3.1.4/5    +  Labeling Multifunction Keys"
  14765.  
  14766. %p
  14767. If a key is used for more than one function, always indicate to the user
  14768. which function is currently available.
  14769.  
  14770. %p "Comment"
  14771. If a key is used for just two functions, depending upon defined
  14772. operational mode, then alternate illuminated labels might be provided on
  14773. the key to indicate which function is current.  In those circumstances,
  14774. it is preferable that only the currently available function is visible,
  14775. so that the labels on a group of keys will show what can be done at any
  14776. point.
  14777.  
  14778. %p "Comment"
  14779. If key function is specific to a particular transaction, provide an
  14780. appropriate guidance message on the user's display to indicate the
  14781. current function.
  14782.  
  14783. %p "Reference"
  14784. MS 5.15.2.4.2 5.15.2.4.4
  14785.  
  14786. %p "See also"
  14787. 4.4/13
  14788. %g "3.1.4/6    Single Keying for Frequent Functions"
  14789.  
  14790. %p
  14791. Keys controlling frequently used functions should permit single key
  14792. action and should not require double (control/shift) keying.
  14793. %g "3.1.4/7    +  Logical Pairing of Double-Keyed Functions"
  14794.  
  14795. %p
  14796. If double (control/shift) keying is used, the functions paired on one
  14797. key should be logically related.
  14798.  
  14799. %p "Example"
  14800. If a particular function key moves the cursor to the upper left corner
  14801. of a display screen, then that same key when shifted might be used to
  14802. move the cursor to the bottom right corner of the screen.
  14803.  
  14804. %p "Example"
  14805. As a negative example, a function key that moves the cursor should not
  14806. be used when shifted to delete displayed data.
  14807.  
  14808. %p "Reference"
  14809. Stewart 1980
  14810. %g "3.1.4/8    +  Consistent Logic for Double Keying"
  14811.  
  14812. %p
  14813. If double (control/shift) keying is used, the logical relation between
  14814. shifted and unshifted functions should be consistent from one key to
  14815. another.
  14816.  
  14817. %p "Example"
  14818. One consistent logic might be that shifted and unshifted functions are
  14819. opposite, so that if a particular key moves the cursor forward then that
  14820. key when shifted would move the cursor backward.
  14821.  
  14822. %p "Example"
  14823. Another possible logic might be that shifted and unshifted functions are
  14824. related by degree, so that if a particular key deletes a single
  14825. displayed character then that key when shifted would delete a word.
  14826.  
  14827. %p "Comment"
  14828. Consistency in the underlying logic for double keying will help a user
  14829. to learn the functions associated with different keys.
  14830. %g "3.1.4/9    Single Activation of Function Keys"
  14831.  
  14832. %p
  14833. Ensure that any key will perform its labeled function with a single
  14834. activation, and will not change its function with repeated activation.
  14835.  
  14836. %p "Exception"
  14837. On a very compact keypad, where separate keys are not available to
  14838. accommodate the range of needed functions, it might be acceptable to
  14839. group logically related functions on a single key, where repeated key
  14840. activation would extend the range of control action in a consistent way,
  14841. e.g., to DELETE character, word, sentence, or paragraph with repeated
  14842. keystrokes.
  14843.  
  14844. %p "Reference"
  14845. MS 5.15.2.3.7
  14846.  
  14847. %p "See also"
  14848. 4.0/2
  14849. %g "3.1.4/10   Feedback for Function Key Activation"
  14850.  
  14851. %p
  14852. When function key activation does not result in any immediately
  14853. observable natural response, provide users with some other form of
  14854. computer acknowledgment.
  14855.  
  14856. %p "Comment"
  14857. Temporary illumination of the function key will suffice, if key
  14858. illumination is not used for other purposes such as indicating available
  14859. options.  Otherwise an advisory message should be displayed.
  14860.  
  14861. %p "Comment"
  14862. As an interesting variation, user guidance prior to key activation might
  14863. be provided, where partial depression of a double-contact function key
  14864. would explain its use, either by voice output ("talking keyboard") or by
  14865. visual display of a HELP message.
  14866.  
  14867. %p "Reference"
  14868. MS 5.15.2.3.8
  14869. Geiser Schumacher Berger 1982
  14870.  
  14871. %p "See also"
  14872. 3.0/14 4.2/1
  14873. %g "3.1.4/11   Indicating Active Function Keys"
  14874.  
  14875. %p
  14876. If some function keys are active and some are not, indicate the current
  14877. subset of active keys in some noticeable way, perhaps by brighter
  14878. illumination.
  14879.  
  14880. %p "Comment"
  14881. This practice will speed user selection of function keys.
  14882.  
  14883. %p "Reference"
  14884. MS 5.15.2.4.3
  14885. Hollingsworth Dray 1981
  14886.  
  14887. %p "See also"
  14888. 4.4/13
  14889. %g "3.1.4/12   +  Disabling Unneeded Function Keys"
  14890.  
  14891. %p
  14892. When function keys are not needed for any current transaction,
  14893. temporarily disable those keys under computer control; do not require
  14894. users to apply mechanical overlays for this purpose.
  14895.  
  14896. %p "Comment"
  14897. If a user selects a function key that is invalid for the current
  14898. transaction, no action should result except display of an advisory
  14899. message indicating what functions are available at that point.
  14900.  
  14901. %p "Reference"
  14902. MS 5.15.9.1
  14903. PR 4.12.4.5
  14904.  
  14905. %p "See also"
  14906. 3.2/10 3.5/1 6.0/11
  14907. %g "3.1.4/13   Single Key for Continuous Functions"
  14908.  
  14909. %p
  14910. When a function is continuously available, assign that function to a
  14911. single key.
  14912.  
  14913. %p "Reference"
  14914. MS 5.15.2.3.4
  14915. %g "3.1.4/14   Consistent Assignment of Function Keys"
  14916.  
  14917. %p
  14918. If a function is assigned to a particular key in one transaction, assign
  14919. that function to the same key in other transactions.
  14920.  
  14921. %p "Example"
  14922. A SAVE key should perform the same function at any point in a
  14923. transaction sequence.
  14924.  
  14925. %p "Comment"
  14926. This becomes a design issue, of course, only in applications where the
  14927. set of needed functions does vary somewhat from one transaction to
  14928. another.
  14929.  
  14930. %p "Reference"
  14931. BB 4.4.8
  14932. MS 5.15.2.3.2
  14933. Foley Wallace 1974
  14934. %g "3.1.4/15   +  Consistent Functions in Different Operational Modes"
  14935.  
  14936. %p
  14937. When a function key performs different functions in different
  14938. operational modes, assign equivalent or similar functions to the same
  14939. key.
  14940.  
  14941. %p "Example"
  14942. A particular key might be used to confirm data changes in one mode,
  14943. confirm message transmission in another, etc.
  14944.  
  14945. %p "Example"
  14946. As a negative example, a key labeled RESET should not be used to save
  14947. data in one mode, dump data in another, and signal task completion in a
  14948. third (cited from an actual design).
  14949.  
  14950. %p "Reference"
  14951. Stewart 1980
  14952. %g "3.1.4/16   Easy Return to Base-Level Functions"
  14953.  
  14954. %p
  14955. If the functions assigned to a set of keys change as a result of user
  14956. selection, give the user an easy means to return to the initial,
  14957. base-level functions.
  14958.  
  14959. %p "Example"
  14960. In cockpit design, where multifunction keys may be used for various
  14961. purposes such as navigation or weapons control, the pilot should be able
  14962. to take a single action to restore those keys quickly to their basic
  14963. flight control functions.
  14964.  
  14965. %p "Comment"
  14966. In effect, multifunction keys can provide hierarchic levels of options
  14967. much like menu selection dialogues, with the same need for rapid return
  14968. to the highest-level menu.
  14969.  
  14970. %p "Comment"
  14971. For some applications, it may be desirable to automate the return to
  14972. base-level assignment of multifunction keys, to occur immediately on
  14973. completion of a transaction and/or by time-out following a period of
  14974. user inaction.  The optimum period for any automatic time-out would have
  14975. to be determined empirically for each application.
  14976.  
  14977. %p "Reference"
  14978. Aretz Kopala 1981
  14979. %g "3.1.4/17   Distinctive Location"
  14980.  
  14981. %p
  14982. Group function keys in distinctive locations on the keyboard to
  14983. facilitate their learning and use; place frequently used function keys
  14984. in the most convenient locations.
  14985.  
  14986. %p "Reference"
  14987. MS 5.15.2.3.6
  14988.  
  14989. %p "See also"
  14990. 4.0/8
  14991. %g "3.1.4/18   +  Layout Compatible with Use"
  14992.  
  14993. %p
  14994. The layout of function keys should be compatible with their importance;
  14995. give keys for emergency functions a prominent position and distinctive
  14996. coding (e.g., size and/or color); provide physical protection for keys
  14997. with potentially disruptive consequences.
  14998.  
  14999. %p "See also"
  15000. 6.0/12
  15001. %a "3.1.5  Dialogue Type - Command Language"
  15002.  
  15003. %p
  15004. Command language permits a user to specify desired control actions by
  15005. composing messages to a computer.
  15006. %g "3.1.5/1    Command Language"
  15007.  
  15008. %p
  15009. Consider command-language dialogues for tasks involving a wide range of
  15010. control entries, where users may be highly trained and will use the
  15011. system frequently.
  15012.  
  15013. %p "Comment"
  15014. Command language should also be considered for tasks where control
  15015. entries may be mixed with data entries in arbitrary sequence, such as
  15016. when making flight reservations.  Such applications will generally
  15017. require extensive user training.
  15018.  
  15019. %p "Reference"
  15020. MS 5.15.4.5.1
  15021. Martin 1973
  15022. %g "3.1.5/2    Standard Display Area for Command Entry"
  15023.  
  15024. %p
  15025. When command language is used for sequence control, provide a command
  15026. entry area in a consistent location on every display, preferably at the
  15027. bottom.
  15028.  
  15029. %p "Comment"
  15030. Adjacent to the command entry area there should be a display window
  15031. reserved for prompting entries, for recapitulation of command sequences
  15032. (with scrolling to permit extended review), and to mediate
  15033. question-and-answer dialogue sequences (i.e., prompts and responses to
  15034. prompts).
  15035.  
  15036. %p "Reference"
  15037. EG 2.3
  15038. MS 5.15.4.5.7
  15039. Granda Teitelbaum Dunlap 1982
  15040.  
  15041. %p "See also"
  15042. 2.5/11 3.1.3/8 4.0/6
  15043. %g "3.1.5/3    Functional Wording"
  15044.  
  15045. %p
  15046. Design a command language so that a user can enter commands in terms of
  15047. functions desired, without concern for internal computer data
  15048. processing, storage and retrieval mechanisms.
  15049.  
  15050. %p "Example"
  15051. Users should be able to request display of a data file by name alone,
  15052. without any further specification such as that file's location in
  15053. computer storage.
  15054.  
  15055. %p "Comment"
  15056. Where file names are not unique identifiers, the computer should be
  15057. programmed to determine whatever further context is necessary for
  15058. identification.  Or perhaps the computer should ask the user to
  15059. designate a "directory" defining the subset of files of current
  15060. interest.
  15061.  
  15062. %p "Reference"
  15063. MS 5.15.4.1.10
  15064. %g "3.1.5/4    Layered Command Language"
  15065.  
  15066. %p
  15067. Design a command language so that its functions are organized in groups
  15068. (or "layers") for ease in learning and use.
  15069.  
  15070. %p "Example"
  15071. A user should be able to display the next of a set of received messages
  15072. with some simple command such as READ NEXT, although a complete command
  15073. to retrieve any message might include potential specification of which
  15074. message, from which message list, in which format, to which output
  15075. device.
  15076.  
  15077. %p "Comment"
  15078. The fundamental layer of the language should be the easiest, allowing
  15079. use of the system by people with little training and/or limited needs.
  15080. Successive layers of the command language can then increase in
  15081. complexity for users with greater skills.  In effect, simple versions of
  15082. commands can be recognized by defaulting all of the optional parameters.
  15083.  
  15084. %p "Comment"
  15085. Control forms might be used to display default options for complicated
  15086. commands.
  15087.  
  15088. %p "Reference"
  15089. Reisner 1977
  15090.  
  15091. %p "See also"
  15092. 3.1.2/3 4.4/31
  15093. %g "3.1.5/5    Meaningful Command Names"
  15094.  
  15095. %p
  15096. Choose command names that are meaningful, and that specifically describe
  15097. the functions being implemented.
  15098.  
  15099. %p "Comment"
  15100. In some systems, functions are arbitrarily assigned letters as command
  15101. names, e.g., the letter D preceded by a special key such as CONTROL
  15102. might be a LOG-OFF command.  In such cases, when command names are not
  15103. real words that describe system functions, users will have difficulty
  15104. learning to use the system.
  15105.  
  15106. %p "Comment"
  15107. If users are permitted to enter abbreviations rather than complete
  15108. command names, ensure that users are told the command name represented
  15109. by the abbreviation.  Otherwise, a short abbreviation may seem an
  15110. arbitrary code.  For instance, a prompt might read
  15111.           | To DELETE a record, enter D |
  15112. rather than
  15113.           | To erase a record, enter D |
  15114.  
  15115. %p "Reference"
  15116. Grudin Barnard 1984
  15117. %g "3.1.5/6    +  Familiar Wording"
  15118.  
  15119. %p
  15120. Choose words for a command language that reflect the user's point of
  15121. view, and correspond to the user's operational language.
  15122.  
  15123. %p "Example"
  15124. To transfer a file, the assigned command should be something like
  15125. TRANSFER, MOVE, or SEND, and not some jargon term like PIP.
  15126.  
  15127. %p "Reference"
  15128. EG 4.1.1 4.2.12 4.2.13
  15129. MS 5.15.4.5.2
  15130.  
  15131. %p "See also"
  15132. 4.0/16 4.0/17
  15133. %g "3.1.5/7    +  Consistent Wording of Commands"
  15134.  
  15135. %p
  15136. Design all words in a command language, and their abbreviations, to be
  15137. consistent in meaning from one transaction to another, and from one task
  15138. to another.
  15139.  
  15140. %p "Example"
  15141. As a negative example, do not use EDIT in one place, MODIFY in another,
  15142. UPDATE in a third, all referring to the same kind of action.
  15143.  
  15144. %p "Example"
  15145. Choose wording so that commands will be congruent with one another,
  15146. following natural language patterns; if one command is UP, its
  15147. complement should be DOWN; other natural complements include RIGHT-LEFT,
  15148. FORWARD-BACK, IN-OUT, PUSH-PULL, RAISE-LOWER, etc.
  15149.  
  15150. %p "Reference"
  15151. EG 4.2.9 4.2.13
  15152. MS 5.15.4.5.6
  15153. Carroll 1982
  15154. Demers 1981
  15155.  
  15156. %p "See also"
  15157. 4.0/15 4.0/17
  15158. %g "3.1.5/8    +  Distinctive Meaning for Commands"
  15159.  
  15160. %p
  15161. Design words in a command language so that they are distinctive from one
  15162. another, and emphasize significant differences in function.
  15163.  
  15164. %p "Comment"
  15165. In general, do not give different commands semantically similar names,
  15166. such as SUM and COUNT, or ERASE and DELETE, or QUIT and EXIT.  System
  15167. design abounds with negative examples of similarly named commands which
  15168. confuse their users: DISPLAY and VIEW (where one command permits editing
  15169. displayed material and one does not), COMPOSE and CREATE (where one
  15170. command sends a composed message to an outbox and one leaves a message
  15171. on the desk), etc.  Even experienced users will make errors with such
  15172. commands.
  15173.  
  15174. %p "Comment"
  15175. Some researchers deal with this question by recommending the use of
  15176. specific rather than general command names.
  15177.  
  15178. %p "Reference"
  15179. BB 3.7.5
  15180. MS 5.15.4.5.3
  15181. Barnard Hammond MacLean Morton 1982
  15182. %g "3.1.5/9    +  Distinctive Spelling for Commands"
  15183.  
  15184. %p
  15185. Design words and abbreviations in a command language with distinctive
  15186. spelling, so that simple spelling errors will be recognized as such
  15187. rather than invoking a different command.
  15188.  
  15189. %p "Example"
  15190. As a negative example, if one command name is DELETE, abbreviated DEL,
  15191. then another command should not be named DELIVER, with an abbreviation
  15192. of DELR.  Instead, ERASE could be substituted for DELETE, or SEND for
  15193. DELIVER.
  15194.  
  15195. %p "Comment"
  15196. When a system has only a few commands, all of those commands should be
  15197. distinctive.  When a system has many commands, it may not be possible to
  15198. ensure that each is distinctive.  In that case, it is important to
  15199. ensure that any commands which are destructive or time-consuming are
  15200. made distinctive.
  15201.  
  15202. %p "Reference"
  15203. BB 2.2.5
  15204. %g "3.1.5/10   User-Assigned Command Names"
  15205.  
  15206. %p
  15207. Design a command language with flexibility to permit a user to assign
  15208. personal names to files, frequently used commands, etc.
  15209.  
  15210. %p "Comment"
  15211. Frequently used commands should be easy for a user to enter.  Where
  15212. users differ in the frequency of the commands they use, perhaps the
  15213. designer should provide for flexibility in command naming.  On the other
  15214. hand, users will not be perfectly consistent in specifying command
  15215. names, and a carefully designed set of commands might well prove better
  15216. for some applications.
  15217.  
  15218. %p "Comment"
  15219. For users who must move back and forth between different systems with
  15220. differently defined command languages, some flexibility in command
  15221. naming might permit those users to establish their own consistent
  15222. terminology.
  15223.  
  15224. %p "Comment"
  15225. Before users can be allowed to adopt their own assigned command names,
  15226. the computer must check those names to prevent duplication.
  15227.  
  15228. %p "Comment"
  15229. A potential risk of increased flexibility is increased confusion, if
  15230. users forget what names they have specified for commands and data files.
  15231. The computer should maintain a current index of command and file names
  15232. for on-line user reference.
  15233.  
  15234. %p "Reference"
  15235. Carroll 1982
  15236.  
  15237. %p "See also"
  15238. 3.2/18 4.4/18 4.4/19
  15239. %g "3.1.5/11   User-Requested Prompts"
  15240.  
  15241. %p
  15242. Allow users to request computer-generated prompts as necessary to
  15243. determine required parameters in a command entry, or to determine
  15244. available options for an appropriate next command.
  15245.  
  15246. %p "Example"
  15247. Using a HELP function key, or perhaps simply keying a question mark in
  15248. the command entry area, would be satisfactory methods to request
  15249. prompting.
  15250.  
  15251. %p "Comment"
  15252. In some applications it may be desirable to let an inexperienced user
  15253. simply choose a general "prompted mode" of operation, where any command
  15254. entry produces automatic prompting of (required or optional) parameters
  15255. and/or succeeding entry options.
  15256.  
  15257. %p "Reference"
  15258. MS 5.15.4.5.8
  15259. Demers 1981
  15260.  
  15261. %p "See also"
  15262. 4.4/7 4.4/12
  15263. %g "3.1.5/12   +  General List of Commands"
  15264.  
  15265. %p
  15266. Provide a general list of basic commands, with appropriate command
  15267. format guidance, that will always be available to serve as a "home base"
  15268. or consistent starting point for composing command entries.
  15269.  
  15270. %p "Comment"
  15271. Such a general list of commands might provide more comprehensive user
  15272. guidance than is possible when prompting command entry from a working
  15273. display.
  15274.  
  15275. %p "See also"
  15276. 3.2/2 4.4/2
  15277. %g "3.1.5/13   Command Stacking"
  15278.  
  15279. %p
  15280. Allow users to key a series of commands at one time ("command
  15281. stacking").
  15282.  
  15283. %p "Comment"
  15284. This practice will allow experienced users to by-pass prompting
  15285. sequences.  Command stacking will reduce the extended memory load on
  15286. users.  Command stacking may also be much faster than separate entry of
  15287. commands, in systems where input/output processing is overloaded by
  15288. multiple users.
  15289.  
  15290. %p "Reference"
  15291. BB 2.9
  15292.  
  15293. %p "See also"
  15294. 3.2/13 4.4/12
  15295. %g "3.1.5/14   +  User Definition of Macro Commands"
  15296.  
  15297. %p
  15298. Allow users to assign a single name to a defined series of commands and
  15299. then use that named "macro" for subsequent command entry.
  15300.  
  15301. %p "Comment"
  15302. In this way users can make a frequent but complicated task easier to
  15303. accomplish, when the interface designer has failed to anticipate that
  15304. particular need.
  15305.  
  15306. %p "Reference"
  15307. Demers 1981
  15308. Foley Wallace 1974
  15309.  
  15310. %p "See also"
  15311. 3.2/18
  15312. %g "3.1.5/15   Minimal Punctuation"
  15313.  
  15314. %p
  15315. Allow users to enter commands without any punctuation other than the
  15316. spaces between words.
  15317.  
  15318. %p "Comment"
  15319. Command entry will be faster and more accurate when spaces are used
  15320. rather than any other kind of punctuation.
  15321.  
  15322. %p "Reference"
  15323. MS 5.15.4.5.4
  15324. Radin 1984
  15325.  
  15326. %p "See also"
  15327. 3.2/16
  15328. %g "3.1.5/16   +  Standard Delimiter"
  15329.  
  15330. %p
  15331. If command punctuation other than spaces is required, perhaps as a
  15332. delimiter to distinguish optional parameters or to separate entries in a
  15333. stacked command, adopt a single standard delimiter symbol for that
  15334. purpose.
  15335.  
  15336. %p "Example"
  15337. A slash (/) might be a good choice.
  15338.  
  15339. %p "Comment"
  15340. Whatever symbol is adopted as a delimiter for command entries should
  15341. preferably be the same as any delimiter that might be used when making
  15342. data entries.
  15343.  
  15344. %p "Comment"
  15345. Note, however, that even if some single delimiter is specified for
  15346. consistent use in command punctuation, command entry will be slower and
  15347. less accurate than if no delimiter at all were required.  People do not
  15348. punctuate reliably.
  15349.  
  15350. %p "See also"
  15351. 1.4/4 3.2/17
  15352. %g "3.1.5/17   Ignoring Blanks in Command Entry"
  15353.  
  15354. %p
  15355. Treat single and multiple blanks between words as equivalent when
  15356. processing command entries.
  15357.  
  15358. %p "Comment"
  15359. People cannot readily distinguish one blank space from several, and so
  15360. the computer should not impose such a distinction.
  15361.  
  15362. %p "See also"
  15363. 1.0/30
  15364. %g "3.1.5/18   Abbreviation of Commands"
  15365.  
  15366. %p
  15367. Allow users to abbreviate commands.
  15368.  
  15369. %p "Example"
  15370. If a "P" uniquely identifies a print command (i.e., no other commands
  15371. start with "P") then a user should be able to enter PRINT, or PR, or P,
  15372. or any other truncation to initiate printing.
  15373.  
  15374. %p "Comment"
  15375. As a corollary, misspelled command entries should also be tolerated,
  15376. within the limits of computer recognition.  The computer can interrogate
  15377. a user as necessary to resolve ambiguous entries.
  15378.  
  15379. %p "Comment"
  15380. If a command language is still changing, as during system development,
  15381. do not permit variable abbreviation.  For the user, an abbreviation that
  15382. works one day may not work the next.  For the software designer, the
  15383. addition of any new command might require revision of recognition logic
  15384. for other commands.
  15385.  
  15386. %p "Reference"
  15387. BB 2.4.3
  15388. Demers 1981
  15389. %g "3.1.5/19   Standard Techniques for Command Editing"
  15390.  
  15391. %p
  15392. Allow users to edit erroneous commands with the same techniques that are
  15393. employed to edit data entries.
  15394.  
  15395. %p "Comment"
  15396. Consistent editing techniques will speed learning and reduce errors.
  15397. %g "3.1.5/20   Interpreting Misspelled Commands"
  15398.  
  15399. %p
  15400. Where the set of potential command entries is well defined, program the
  15401. computer to recognize and execute common misspellings of commands,
  15402. rather than requiring re-entry.
  15403.  
  15404. %p "Comment"
  15405. This practice should permit a sizable reduction in wasted keying without
  15406. serious risk of misinterpretation.  The necessary software logic is akin
  15407. to that for recognizing command abbreviations.
  15408.  
  15409. %p "Comment"
  15410. For novice users, it may be helpful for the computer to display an
  15411. inferred command for user confirmation before execution.
  15412.  
  15413. %p "Reference"
  15414. BB 2.2.4
  15415. MS 5.15.7.10
  15416. Gade Fields Maisano Marshall Alderman 1981
  15417. %g "3.1.5/21   +  Recognizing Command Synonyms"
  15418.  
  15419. %p
  15420. If a system will have many novice or infrequent users, ensure that the
  15421. computer can recognize a variety of synonyms for each word defined in
  15422. the command language.
  15423.  
  15424. %p "Example"
  15425. The words "mail", "post", and "transmit" might be accepted synonyms for
  15426. the command "send".
  15427.  
  15428. %p "Comment"
  15429. What synonyms are frequently employed can be determined by analysis of
  15430. user error records in prototype testing.
  15431.  
  15432. %p "Comment"
  15433. Infrequent users may need to relearn command names each time they use
  15434. the system.  For those users, time spent learning commands is not
  15435. worthwhile considering that they will seldom use those commands.
  15436.  
  15437. %p "Comment"
  15438. Command synonyms will be helpful for users who are experienced with
  15439. different systems.  For instance, if users of different editors must
  15440. occasionally use the same mail system, that mail system might permit
  15441. synonyms for such common functions as creating and storing documents.
  15442. If user experience with other systems is known, as when all users of a
  15443. mail system use one of two editors, designers should include appropriate
  15444. synonyms.  Otherwise, the users themselves might be permitted to tailor
  15445. command names to employ familiar terminology.
  15446.  
  15447. %p "Comment"
  15448. If most system users will gain expertise through frequent use, then
  15449. documentation and error messages should be provided to help new users
  15450. learn accepted commands, rather than permitting them to enter command
  15451. synonyms.  When a command language has been carefully designed, with
  15452. easily distinguishable command names and rule-based abbreviations,
  15453. frequent users will benefit from time spent learning that command
  15454. language rather than designing their own language.
  15455.  
  15456. %p "Reference"
  15457. Good Whiteside Wixon Jones 1984
  15458. %g "3.1.5/22   +  Recognizing Alternative Syntax"
  15459.  
  15460. %p
  15461. If a system will have many novice or infrequent users, ensure that the
  15462. computer can recognize probable alternative forms of command syntax.
  15463.  
  15464. %p "Example"
  15465. The computer might accept alternative methods of specifying a document,
  15466. such as "memo 3", "memo #3", "#3", or simply "3"; users might be allowed
  15467. to use different punctuation and/or to list command modifiers in
  15468. different orders.
  15469.  
  15470. %p "Comment"
  15471. What alternative syntax should be recognized can be determined by
  15472. analysis of user error records in prototype testing.  Recognition of
  15473. alternative syntax will require more complex parsing of commands,
  15474. perhaps enlarging by several times that segment of interface software.
  15475. But that effort will be justified by increased recognition of user
  15476. entries.
  15477.  
  15478. %p "Comment"
  15479. Infrequent users may need to relearn syntax rules each time they use the
  15480. system.  For those users, time spent learning syntax is not worthwhile
  15481. considering that they will seldom use that syntax.
  15482.  
  15483. %p "Comment"
  15484. Recognizing alternative syntax will be helpful for users who are
  15485. experienced with different systems.  For instance, if users of different
  15486. editors must occasionally use the same mail system, that mail system
  15487. might permit alternative syntax corresponding to the syntax of those
  15488. different editors.  If user experience with other systems is known, as
  15489. when all users of a mail system use one of two editors, designers should
  15490. provide for those different syntax forms.  Otherwise, the users
  15491. themselves might be permitted to tailor command syntax to employ
  15492. familiar forms.
  15493.  
  15494. %p "Comment"
  15495. If most system users will gain expertise through frequent use, then
  15496. documentation and error messages should be provided to help new users
  15497. learn accepted syntax, rather than permitting them to use alternative
  15498. syntax forms.  When a command language has been carefully designed to
  15499. minimize keystrokes and errors, and ensure that similar commands require
  15500. the same syntax, frequent users will benefit from time spent learning
  15501. acceptable syntax rather than designing their own language.
  15502.  
  15503. %p "Reference"
  15504. Good Whiteside Wixon Jones 1984
  15505. %g "3.1.5/23   Correcting Command Entry Errors"
  15506.  
  15507. %p
  15508. If a command entry is not recognized, allow the user to revise the
  15509. command rather than rejecting the command outright.
  15510.  
  15511. %p "Comment"
  15512. Misstated commands should not simply be rejected.  Instead, software
  15513. logic should guide users toward proper command formulation.  Preserve
  15514. the faulty command for reference and modification, and do not require a
  15515. user to rekey the entire command just to change one part.
  15516.  
  15517. %p "See also"
  15518. 3.5/2 4.3/15
  15519. %g "3.1.5/24   +  Replacing Erroneous Commands"
  15520.  
  15521. %p
  15522. If a user makes a command entry error, after the error message has been
  15523. displayed allow the user to enter a new command; a user should not be
  15524. forced to correct and complete an erroneous command.
  15525.  
  15526. %p "Comment"
  15527. In considering a command entry error message, a user may decide that the
  15528. wrong command was chosen in the first place, and wish to substitute
  15529. another command instead.
  15530. %g "3.1.5/25   Reviewing Destructive Commands"
  15531.  
  15532. %p
  15533. If a command entry may have disruptive consequences, require the user to
  15534. review and confirm a displayed interpretation of the command before it
  15535. is executed.
  15536.  
  15537. %p "See also"
  15538. 3.5/8 6.0/18
  15539. %a "3.1.6  Dialogue Type - Query Language"
  15540.  
  15541. %p
  15542. Query language is a special form of command language that can be used to
  15543. request information from a computer.
  15544. %g "3.1.6/1    Query Language"
  15545.  
  15546. %p
  15547. Consider query language dialogue for tasks emphasizing unpredictable
  15548. information retrieval (as in many analysis and planning tasks), with
  15549. moderately trained users.
  15550.  
  15551. %p "Comment"
  15552. Guidelines for command language design would apply equally to query
  15553. languages.
  15554.  
  15555. %p "Reference"
  15556. Ehrenreich 1981
  15557.  
  15558. %p "See also"
  15559. 3.1.5
  15560. %g "3.1.6/2    Natural Organization of Data"
  15561.  
  15562. %p
  15563. Design a query language so that it reflects a data structure or
  15564. organization perceived by users to be natural.
  15565.  
  15566. %p "Example"
  15567. If a user supposes that all data about a particular person are stored in
  15568. one place, then the query language should probably permit such data to
  15569. be retrieved by a single query, even though actual computer storage
  15570. might carry the various data in different files.
  15571.  
  15572. %p "Comment"
  15573. The users' natural perception of data organization can be discovered by
  15574. survey or experimentation.  When users' perceptions do not match the
  15575. actual structure of computer-stored data, then special care will be
  15576. needed to preserve the users' viewpoint in query language design.
  15577.  
  15578. %p "Reference"
  15579. Durding Becker Gould 1977
  15580. %g "3.1.6/3    +  Coherent Representation of Data Organization"
  15581.  
  15582. %p
  15583. Establish one single representation of the data organization for use in
  15584. query formulation, rather than multiple representations.
  15585.  
  15586. %p "Example"
  15587. If different queries will access different data bases over different
  15588. routes, a user should not necessarily need to know this.
  15589.  
  15590. %p "Comment"
  15591. Beginners or infrequent users may be confused by different
  15592. representational models.
  15593.  
  15594. %p "Reference"
  15595. Michard 1982
  15596.  
  15597. %p "See also"
  15598. 4.4/18
  15599. %g "3.1.6/4    Task-Oriented Wording"
  15600.  
  15601. %p
  15602. Design a query language so that the wording of a query simply specifies
  15603. what data are requested; a user should not have to tell the computer how
  15604. to find the data.
  15605.  
  15606. %p "Comment"
  15607. This objective has been called "nonprocedurality", meaning that a user
  15608. should not have to understand computer procedures for finding data.
  15609.  
  15610. %p "Reference"
  15611. Michard 1982
  15612. %g "3.1.6/5    Flexible Query Formulation"
  15613.  
  15614. %p
  15615. Allow users to employ alternative forms when composing queries,
  15616. corresponding to common alternatives in natural language.
  15617.  
  15618. %p "Example"
  15619. When quantifying a query, a user should be able to employ equivalent
  15620. forms, such as "over 50," "more than 50," "51 or more."
  15621.  
  15622. %p "Reference"
  15623. Michard 1982
  15624. %g "3.1.6/6    Minimal Need for Quantifiers"
  15625.  
  15626. %p
  15627. Design a query language to minimize the need for quantifiers in query
  15628. formulation.
  15629.  
  15630. %p "Example"
  15631. Negative quantifiers ("no", "none", "zero", etc.) are particularly
  15632. difficult for users to deal with; other potentially confusing
  15633. quantifiers include indefinite ("some", "any") and interrogative ("how
  15634. many") forms.
  15635.  
  15636. %p "Comment"
  15637. People have difficulty in using quantifiers.  If a query language does
  15638. require quantifiers, it may be helpful to allow a user to select the
  15639. desired quantifier from a set of sample queries worded to maximize their
  15640. distinctiveness.
  15641. %g "3.1.6/7    Logic to Link Queries"
  15642.  
  15643. %p
  15644. Design a query language to include logic elements that permit users to
  15645. link sequential queries as a single entry.
  15646.  
  15647. %p "Example"
  15648. Common links for query formulation include "and", "or", etc.
  15649.  
  15650. %p "Comment"
  15651. However a query language should be designed so that it does not require
  15652. logical links.  Some logical quantifiers ("greater than", "less than",
  15653. etc.) may confuse users.  As an alternative to logical linking, it may
  15654. prove helpful to allow a user to formulate a series of simple queries to
  15655. narrow the set of retrieved data.
  15656.  
  15657. %p "Comment"
  15658. It may help a user to specify logical links accurately if the computer
  15659. can display a graphical depiction of relations among data sets as those
  15660. relations are specified during query composition.  One researcher
  15661. recommends Venn diagrams for this purpose.
  15662.  
  15663. %p "Reference"
  15664. Michard 1982
  15665.  
  15666. %p "See also"
  15667. 3.1.8/7
  15668. %g "3.1.6/8    Linking Sequential Queries"
  15669.  
  15670. %p
  15671. Design a query language to allow the logical linking of sequential
  15672. queries.
  15673.  
  15674. %p "Example"
  15675. Logical linking of queries might be accomplished with referential
  15676. pronouns ("of them", "of those") that will be recognized by the computer
  15677. in terms of current context.
  15678. %g "3.1.6/9    Confirming Large-Scale Retrieval"
  15679.  
  15680. %p
  15681. If a query will result in a large-scale data retrieval, require the user
  15682. to confirm the transaction or else take further action to narrow the
  15683. query before processing.
  15684.  
  15685. %p "Comment"
  15686. In this regard, it may be helpful to permit a user to set some upper
  15687. bound for data output, in effect to define what constitutes a
  15688. "large-scale" retrieval.
  15689.  
  15690. %p "Comment"
  15691. It may help a user to decide whether to confirm or modify a pending
  15692. query, if the user can request a partial display of the currently
  15693. specified data output.
  15694. %a "3.1.7  Dialogue Type - Natural Language"
  15695.  
  15696. %p
  15697. Natural language recognition might permit a novice user to compose
  15698. commands without any special training.
  15699. %g "3.1.7/1    Constrained Natural Language"
  15700.  
  15701. %p
  15702. Consider using some constrained form of natural language dialogue in
  15703. applications where task requirements are broad ranging and poorly
  15704. defined, and where little user training can be provided.
  15705.  
  15706. %p "Comment"
  15707. Computer processing of natural language is now being developed on an
  15708. experimental basis.  Current capabilities permit computer recognition of
  15709. constrained forms of "natural" language, with some limits on vocabulary
  15710. and syntax.  Such constrained natural languages might be considered akin
  15711. to command languages, with the drawback that they are probably not as
  15712. carefully designed.
  15713.  
  15714. %p "Comment"
  15715. For untrained users, the seemingly familiar form of a (constrained)
  15716. natural language dialogue may help introduce them to computer
  15717. capabilities.  Such users may manage to do something right from scratch,
  15718. without having to surmount an initial hurdle of learning more
  15719. specialized command languages and control procedures.  As users gain
  15720. experience, they may eventually learn more efficient methods of
  15721. interacting with the system.  On the other hand, infrequent computer
  15722. users may forget whatever training they receive, and so remain novices
  15723. indefinitely.
  15724.  
  15725. %p "Comment"
  15726. Do not consider using unconstrained natural language dialogues for
  15727. current interface design.  Even if a computer can be programmed to
  15728. recognize unconstrained natural language, it is not clear whether that
  15729. would help in any defined information handling task.  A natural language
  15730. will often cause confusion in communication among its human users.
  15731. Something better may be needed to mediate human communication with
  15732. computers.  For applications where task requirements are well defined,
  15733. other types of dialogue will probably prove more efficient.
  15734.  
  15735. %p "Reference"
  15736. Hayes 1985
  15737. Shneiderman 1981
  15738. %a "3.1.8  Dialogue Type - Graphic Interaction"
  15739.  
  15740. %p
  15741. Graphic interaction permits a user to select displayed control elements
  15742. by pointing and other direct manipulation.
  15743. %g "3.1.8/1    Control of Graphic Data"
  15744.  
  15745. %p
  15746. For users who must work with graphic data, provide control capabilities
  15747. as recommended in guidelines for graphic data entry.
  15748.  
  15749. %p "Comment"
  15750. Methods of user interaction with graphic data may be so complex that
  15751. they can be exploited fully only by skilled users.  Design
  15752. recommendations for that specialized kind of graphic interaction are
  15753. discussed in guidelines pertaining to graphic data entry (Section 1.6).
  15754.  
  15755. %p "See also"
  15756. 1.6
  15757. %g "3.1.8/2    Graphic Control Aids for Casual Users"
  15758.  
  15759. %p
  15760. For casual users, consider providing graphic aids to supplement other
  15761. types of sequence control.
  15762.  
  15763. %p "Comment"
  15764. Advocates recommend simple graphic interaction techniques as an aid for
  15765. casual users, so that they will not have to learn more complicated
  15766. methods of sequence control such as command entry.  It is that potential
  15767. use of graphic interaction to simplify control dialogue that is
  15768. discussed in this section of the guidelines.
  15769. %g "3.1.8/3    Iconic Menus"
  15770.  
  15771. %p
  15772. When system users have different linguistic backgrounds, consider
  15773. providing graphic menus which display icons to represent the control
  15774. options.
  15775.  
  15776. %p "Example"
  15777. A computer-based information system at an international airport might
  15778. display graphic menus with icons to indicate simple control options.
  15779.  
  15780. %p "Comment"
  15781. Here "icon" is intended to mean a small graphic figure which represents
  15782. a control operation or object.
  15783.  
  15784. %p "Comment"
  15785. Some advocates recommend the use of icons whenever possible in place of
  15786. verbal labels or explanations.  They argue that icons can have universal
  15787. meaning for users with different linguistic backgrounds.  Whereas verbal
  15788. labels may require translation into other languages for different user
  15789. groups.
  15790.  
  15791. %p "Comment"
  15792. Some critics, however, are concerned that the meaning of icons may not
  15793. be clear.  Careful testing may be required to develop a satisfactory set
  15794. of icons in terms of both legibility and interpretability.  And even
  15795. then it may prove a wise precaution to supplement icons by displaying
  15796. redundant verbal labels.
  15797.  
  15798. %p "Comment"
  15799. One serious drawback of iconic menus is that they will not permit the
  15800. sequential concatenation of coded menu selections that can ease the
  15801. transition to command entry as novice users become more experienced.
  15802. Thus iconic menus are more appropriate for casual rather than continuing
  15803. use.
  15804.  
  15805. %p "Reference"
  15806. Barnard Marcel 1984
  15807. Bewley Roberts Schroit Verplank 1983
  15808. Foley Van Dam 1982
  15809. Muter Mayson 1986
  15810. Smith Irby Kimball Verplank 1982
  15811.  
  15812. %p "See also"
  15813. 2.4/13
  15814. %g "3.1.8/4    +  Supplementary Verbal Labels"
  15815.  
  15816. %p
  15817. If icons are used to represent control actions in menus, display a
  15818. verbal label with each icon to help assure that its intended meaning
  15819. will be understood.
  15820.  
  15821. %p "Comment"
  15822. Some of the objects and processes dealt with in sequence control are
  15823. necessarily abstract, and so may be difficult to depict by iconic
  15824. representation.  A redundant verbal label might help make the meaning
  15825. clear to a user who is uncertain just what a displayed icon means.
  15826.  
  15827. %p "Comment"
  15828. One skeptic of iconic representation has cited the problems of early
  15829. logographic languages, such as Egyptian hieroglyphs, and reminds us, "It
  15830. took about 2500 years to get rid of the iconic shapes that we are now
  15831. reviving for computer workstations."
  15832.  
  15833. %p "Reference"
  15834. Bigelow 1985
  15835. %g "3.1.8/5    Direct Manipulation"
  15836.  
  15837. %p
  15838. For casual system users, consider providing a capability for direct
  15839. manipulation of displayed objects as a means of sequence control.
  15840.  
  15841. %p "Example"
  15842. Rather than compose a command or select a function key to file a
  15843. document, a user might move a displayed icon representing the document
  15844. to superimpose it on another icon representing a file.
  15845.  
  15846. %p "Comment"
  15847. In sequence control by direct manipulation, the techniques for selecting
  15848. and moving displayed objects would be similar to those described in
  15849. guidelines for graphic data entry.
  15850.  
  15851. %p "Comment"
  15852. An extension of this idea is the use of "embedded menus" in which
  15853. various items within a working display are highlighted in some way to
  15854. indicate that they can be selected to obtain further information.  Thus
  15855. a text display of encyclopedia information might highlight certain words
  15856. as cross references to related material, words which can be selected in
  15857. context rather than from some separate menu listing.
  15858.  
  15859. %p "Comment"
  15860. Advocates recommend direct manipulation as a means of enhancing a user's
  15861. understanding of control actions, arguing that such manipulation can
  15862. help clarify the relations among abstract objects and processes.  Others
  15863. recommend manipulation as a simple alternative to learning a command
  15864. language, arguing that it is easier for a user to see and point than to
  15865. remember and type.
  15866.  
  15867. %p "Comment"
  15868. Critics argue that for experienced users direct manipulation will
  15869. generally not be as efficient as other methods of sequence control.  If
  15870. direct manipulation is provided, some other more efficient alternative
  15871. such as command language should also be available for those users who
  15872. can learn it.  Unfortunately, direct manipulation suffers the same
  15873. drawback as that cited for iconic menus, namely, this mode of graphic
  15874. interaction does not aid transition to the use of command language as
  15875. novice users gain experience.
  15876.  
  15877. %p "Reference"
  15878. Koved Shneiderman 1986
  15879. Shneiderman 1982
  15880.  
  15881. %p "See also"
  15882. 1.6
  15883. %g "3.1.8/6    Graphic Display of Control Context"
  15884.  
  15885. %p
  15886. Consider graphic means for displaying to users the context of current
  15887. control actions.
  15888.  
  15889. %p "Example"
  15890. A graphic representation of the currently selected values of functions,
  15891. elements and attributes affecting control actions might help reduce user
  15892. errors in sequence control.
  15893.  
  15894. %p "Example"
  15895. Graphic techniques might be used to display the scope of a proposed
  15896. control action, such as outlining a passage of text (or other group of
  15897. display elements) currently selected for deletion.
  15898.  
  15899. %p "See also"
  15900. 1.3/7 1.6/7 1.6/12 4.4/13 3.4
  15901. %g "3.1.8/7    Graphic Display of Control Prompting"
  15902.  
  15903. %p
  15904. Consider graphic means for displaying to users prompting aids and other
  15905. guidance pertaining to current control actions.
  15906.  
  15907. %p "Example"
  15908. A guidance display providing a graphic representation of keypad layout
  15909. with notes explaining the various key functions might help a novice user
  15910. to learn the control options available via function keys.
  15911.  
  15912. %p "Example"
  15913. A graphic representation of command syntax might aid language learning
  15914. by novice users who could be confused by other forms of symbolic
  15915. notation.
  15916.  
  15917. %p "Example"
  15918. A graphic representation of logical combinations specified in query
  15919. formulation might help reduce errors in the use of query language.
  15920.  
  15921. %p "Reference"
  15922. Bauer Eddy 1986
  15923. Michard 1982
  15924. Shneiderman 1982
  15925.  
  15926. %p "See also"
  15927. 3.1.6/7
  15928. %a "3.2    Transaction Selection"
  15929.  
  15930. %p
  15931. Transaction selection refers to the control actions and computer logic
  15932. that initiate transactions.
  15933. %g "3.2/1      User Control in Transaction Selection"
  15934.  
  15935. %p
  15936. Allow users to select transactions; computer processing constraints
  15937. should not dictate sequence control.
  15938.  
  15939. %p "Example"
  15940. A user who wants to interrupt a current activity should not be required
  15941. by the computer to complete some long sequence of useless transactions.
  15942.  
  15943. %p "Comment"
  15944. When a logical sequence of transactions can be determined in advance,
  15945. interface design might encourage and help a user to follow that
  15946. sequence.  Guidance may be desirable though constraint is not.
  15947.  
  15948. %p "Reference"
  15949. PR 4.6.7
  15950.  
  15951. %p "See also"
  15952. 3.0/1 3.0/4 3.0/5 4.0/2
  15953. %g "3.2/2      General List of Control Options"
  15954.  
  15955. %p
  15956. Provide a general list of basic control options that will always be
  15957. available to serve as a "home base" or consistent starting point for
  15958. control entries.
  15959.  
  15960. %p "Comment"
  15961. Return to this starting point can be accomplished by an OPTIONS function
  15962. key, or by an explicit control option on every display, or by a
  15963. generally available implicit option.
  15964.  
  15965. %p "Comment"
  15966. Such a capability may be helpful even when all dialogue is
  15967. user-initiated.  It might be the general menu for a menu selection
  15968. dialogue, or might be a standard starting point for composing command
  15969. entries.
  15970.  
  15971. %p "Comment"
  15972. However a user should not be required to return to a display of general
  15973. options in order to make a control entry.  If a user remembers option
  15974. codes or commands, ideally those control entries could be made from any
  15975. point in a transaction sequence.
  15976.  
  15977. %p "Reference"
  15978. BB 4.1
  15979. PR 3.3.16
  15980.  
  15981. %p "See also"
  15982. 3.1.3/26 3.1.5/12 4.4/2
  15983. %g "3.2/3      +  Organization and Labeling of Listed Options"
  15984.  
  15985. %p
  15986. Design the general options list to show control entry options grouped,
  15987. labeled and ordered in terms of their logical function, frequency and
  15988. criticality of use, following the general guidelines for menu design.
  15989.  
  15990. %p "See also"
  15991. 4.4/2 4.4/3 3.1.3
  15992. %g "3.2/4      Indicating Appropriate Control Options"
  15993.  
  15994. %p
  15995. Make available to users a list of the control options that are
  15996. specifically appropriate for any transaction.
  15997.  
  15998. %p "Comment"
  15999. Transaction-specific options might be listed in the working display if
  16000. there is space for them.  Otherwise, they might be displayed in an
  16001. overlay window at user request.
  16002.  
  16003. %p "Comment"
  16004. Treat control options that are available for almost any transaction as
  16005. implicit options, which need not be included in a list of
  16006. transaction-specific options unless they are particularly appropriate to
  16007. the current transaction.  One convenient way to offer implicit options
  16008. is via function keys, although some experienced users may prefer to
  16009. select implicit options by command entry.
  16010.  
  16011. %p "See also"
  16012. 3.1.4/2 4.4/1 4.4/6
  16013. %g "3.2/5      +  Prompting Control Entries"
  16014.  
  16015. %p
  16016. Provide users with whatever information may be needed to guide control
  16017. entries at any point in a transaction sequence, by incorporating prompts
  16018. in a display and/or by providing prompts in response to requests for
  16019. HELP.
  16020.  
  16021. %p "Reference"
  16022. MS 5.15.4.1.4
  16023.  
  16024. %p "See also"
  16025. 4.4/1
  16026. %g "3.2/6      Cursor Placement for Pointing at Options"
  16027.  
  16028. %p
  16029. When users will select among displayed options by pointing, place the
  16030. cursor on the first (most likely) option at display generation.
  16031.  
  16032. %p "See also"
  16033. 3.1.3/29 4.4/16
  16034. %g "3.2/7      +  Cursor Placement for Keyed Entry of Options"
  16035.  
  16036. %p
  16037. When users must select options by keyed entry of a corresponding code,
  16038. place the cursor in the control entry area at display generation.
  16039.  
  16040. %p "Reference"
  16041. PR 4.7.1
  16042.  
  16043. %p "See also"
  16044. 4.4/16
  16045. %g "3.2/8      Displaying Option Codes"
  16046.  
  16047. %p
  16048. When users must select options by code entry, display the code
  16049. associated with each option in a consistent distinctive manner.
  16050.  
  16051. %p "Example"
  16052. In many applications an equal sign can be used to designate option
  16053. codes, such as
  16054.          | N = Next page |, | P = Prev page |, etc.
  16055. %g "3.2/9      Task-Oriented Wording for Options"
  16056.  
  16057. %p
  16058. Employ task-oriented wording for control options to reflect the user's
  16059. view of the current transaction.
  16060.  
  16061. %p "Example"
  16062. When assigning aircraft to a mission, the relevant control option should
  16063. be ASSIGN rather than ENTER.
  16064.  
  16065. %p "See also"
  16066. 4.0/17
  16067. %g "3.2/10     Only Available Options Offered"
  16068.  
  16069. %p
  16070. Offer users only control options that are actually available for the
  16071. current transaction.
  16072.  
  16073. %p "Comment"
  16074. If certain options are not yet implemented, as during system
  16075. development, or are not available for any other reason, those should be
  16076. annotated on the display.
  16077.  
  16078. %p "See also"
  16079. 3.1.3/18 3.1.4/12 6.0/11
  16080. %g "3.2/11     Indicating Control Defaults"
  16081.  
  16082. %p
  16083. When control is accomplished by keyed command or option code entries, if
  16084. a default is defined for a null control entry then indicate that default
  16085. to the user.
  16086.  
  16087. %p "Example"
  16088. | Press ENTER to see more options. |
  16089.  
  16090. %p "Exception"
  16091. If a consistent default is adopted throughout interface design, that
  16092. default need not be explicitly indicated for each individual
  16093. transaction.
  16094.  
  16095. %p "Comment"
  16096. Here the phrase "null control entry" refers to pressing an ENTER key
  16097. without first keying a command or option code (and without any
  16098. accompanying data).  It does not refer to defaults for optional
  16099. parameters that might accompany a valid control entry, whose values
  16100. might be displayed only at user request.
  16101.  
  16102. %p "Comment"
  16103. It is not necessary that any defaults be defined for null control
  16104. entries.  In such cases, the computer might simply respond
  16105.       | ENTER alone is not recognized here. |
  16106. The point here is that when defaults are defined, and when they vary
  16107. from one transaction to another, then users should be informed of the
  16108. current default logic.
  16109.  
  16110. %p "See also"
  16111. 4.4/7
  16112. %g "3.2/12     Consistent CONTINUE Option"
  16113.  
  16114. %p
  16115. At any step in a defined transaction sequence, if there is only a single
  16116. appropriate next step then provide a consistent control option to
  16117. continue to the next transaction.
  16118.  
  16119. %p "Example"
  16120. CONTINUE or NEXT or STEP might be suitable names for this option.
  16121.  
  16122. %p "Exception"
  16123. If data entry is involved, then require a user to take an explicit ENTER
  16124. action to signal data entry, rather than simply selecting CONTINUE.
  16125.  
  16126. %p "Reference"
  16127. PR 4.11
  16128.  
  16129. %p "See also"
  16130. 4.4/5
  16131. %g "3.2/13     Stacked Control Entries"
  16132.  
  16133. %p
  16134. Allow users to key a sequence of commands or option codes as a single
  16135. "stacked" control entry.
  16136.  
  16137. %p "Comment"
  16138. In particular, allow users to enter stacked entries from any menu so
  16139. that an experienced user can make any specific control entry without
  16140. having to view subsequent menus.
  16141.  
  16142. %p "Comment"
  16143. Control entry stacking may be helpful when a user is being prompted to
  16144. enter a series of parameter values, and knows what several succeeding
  16145. prompts will request and what values to enter.
  16146.  
  16147. %p "Comment"
  16148. Control entry stacking will permit a transition from simple step-by-step
  16149. control entry by novice users, as in menu selection and
  16150. question-and-answer dialogues, to the entry of extended command-language
  16151. statements by experienced users; entry stacking is especially helpful in
  16152. time-shared systems where computer response to any user entry may be
  16153. slow.
  16154.  
  16155. %p "Reference"
  16156. EG 6.2 6.2.1
  16157. PR 2.6 4.7.3
  16158. Palme 1979
  16159.  
  16160. %p "See also"
  16161. 3.1.3/36 3.1.5/13 3.5/4 3.5/5
  16162. %g "3.2/14     +  Consistent Order in Entry Stacking"
  16163.  
  16164. %p
  16165. For control entry stacking, require entries to be in the same order as
  16166. they would normally be made in a succession of separate control entry
  16167. actions.
  16168.  
  16169. %p "Reference"
  16170. EG 6.2.1
  16171. %g "3.2/15     +  Abbreviation in Entry Stacking"
  16172.  
  16173. %p
  16174. For control entry stacking, accept command names or their abbreviations
  16175. or option codes just as if those control entries had been made
  16176. separately.
  16177.  
  16178. %p "Comment"
  16179. In some applications, it might prove helpful if the computer were to
  16180. display its interpretation of a stacked entry for user review and
  16181. confirmation.
  16182.  
  16183. %p "Reference"
  16184. EG 6.2.1
  16185. %g "3.2/16     +  Minimal Punctuation of Stacked Entries"
  16186.  
  16187. %p
  16188. Allow users to stack control entries without any punctuation other than
  16189. spaces between words or option codes.
  16190.  
  16191. %p "Comment"
  16192. Sometimes stacked entries may require specific symbols as delimiters for
  16193. their interpretation.  Careful design of command languages and/or option
  16194. codes can minimize the need for delimiters to interpret correct entries.
  16195. Delimiters may still be needed, however, to protect against possible
  16196. user errors, i.e., stacked commands that have been improperly composed.
  16197.  
  16198. %p "Comment"
  16199. Entry will be faster and more accurate when spaces are used rather than
  16200. any other kind of punctuation.
  16201.  
  16202. %p "Reference"
  16203. Radin 1984
  16204.  
  16205. %p "See also"
  16206. 3.1.5/15
  16207. %g "3.2/17     +  Standard Delimiter in Entry Stacking"
  16208.  
  16209. %p
  16210. If punctuation other than spaces is needed to separate entries in a
  16211. stacked control entry, adopt a single standard symbol for that purpose.
  16212.  
  16213. %p "Example"
  16214. A slash (/) may be a good choice.
  16215.  
  16216. %p "Comment"
  16217. Whatever symbol is adopted as a delimiter for control entries should
  16218. preferably be the same as any delimiter that might be used when making
  16219. data entries.
  16220.  
  16221. %p "Comment"
  16222. Note that even when a standard symbol is consistently used to punctuate
  16223. stacked entries, entry will be slower and less accurate than if only
  16224. spaces are used for punctuation.
  16225.  
  16226. %p "Reference"
  16227. EG 6.2.1
  16228.  
  16229. %p "See also"
  16230. 1.4/4 3.1.5/16
  16231. %g "3.2/18     User Definition of Macro Commands"
  16232.  
  16233. %p
  16234. Provide flexibility in transaction selection by allowing users to assign
  16235. a single name to a defined series of control entries, and then use that
  16236. named "macro" for subsequent command entry.
  16237.  
  16238. %p "Comment"
  16239. In this way users can make frequently required but complicated tasks
  16240. easier to accomplish, when the interface designer has failed to
  16241. anticipate a particular need.
  16242.  
  16243. %p "Reference"
  16244. Demers 1981
  16245. Foley Wallace 1974
  16246.  
  16247. %p "See also"
  16248. 3.1.5/10 3.1.5/14
  16249. %g "3.2/19     User-Specified Transaction Timing"
  16250.  
  16251. %p
  16252. When appropriate to task requirements, allow users to specify
  16253. transaction timing, i.e., when a requested transaction should start or
  16254. should be completed, or the periodic scheduling of repeated
  16255. transactions.
  16256.  
  16257. %p "Example"
  16258. A user might wish to specify that a requested data analysis routine be
  16259. deferred until some later hour, to ensure that interim updates to the
  16260. data will be taken into account.
  16261.  
  16262. %p "Example"
  16263. A user might prepare a number of messages for transmittal, but specify
  16264. that actual transmission be deferred until a later time.
  16265.  
  16266. %p "Example"
  16267. A user might wish to specify that a request for a large printout be
  16268. deferred to take advantage of reduced overnight rates, but specify a
  16269. printout deadline to ensure delivery by 0800 the next morning.
  16270.  
  16271. %p "Example"
  16272. A user might wish to specify that summarized briefing material be
  16273. prepared automatically at 0600 every morning until further notice.
  16274.  
  16275. %p "Comment"
  16276. In many applications, of course, users will wish specified transactions
  16277. performed as quickly as possible.  In some applications, however, users
  16278. may have good reasons to delay initiation (or completion) of
  16279. transactions.
  16280.  
  16281. %p "Comment"
  16282. In some instances, it may be possible to provide appropriate software
  16283. logic to aid user decisions on transaction timing.  For example, if a
  16284. user requested a bulky printout, the computer might propose overnight
  16285. printing as an economical alternative, subject to user confirmation.
  16286.  
  16287. %p "Comment"
  16288. Allowing users to specify periodic scheduling for routine transactions
  16289. will tend to reduce the memory load on users, and may help ensure more
  16290. reliable system performance.  If such routine transactions require
  16291. further user inputs, as when preparing periodic activity reports,
  16292. computer logic can be devised to prompt users on a timely basis to make
  16293. the necessary entries.
  16294. %a "3.3    Interrupt"
  16295.  
  16296. %p
  16297. Interrupt capabilities that permit a user to change ongoing transactions
  16298. allow flexibility in sequence control.
  16299. %g "3.3/1      User Interruption of Transactions"
  16300.  
  16301. %p
  16302. Provide flexibility in sequence control by allowing a user to interrupt
  16303. or cancel a current transaction, in ways appropriate to task
  16304. requirements.
  16305.  
  16306. %p "Comment"
  16307. Provision of flexible interrupt capabilities will generally require some
  16308. sort of suspense file or other buffering in software design.  Some such
  16309. capability, however, will be needed for other reasons, e.g., to allow
  16310. users to correct mistaken entries, and to permit the computer to require
  16311. user confirmation of potentially destructive entries.
  16312.  
  16313. %p "Reference"
  16314. PR 3.3.16 3.3.17
  16315. %g "3.3/2      Distinctive Interrupt Options"
  16316.  
  16317. %p
  16318. If different kinds of user interrupt are provided, design each interrupt
  16319. function as a separate control option with a distinct name.
  16320.  
  16321. %p "Example"
  16322. As a negative example, it would not be good design practice to provide a
  16323. single INTERRUPT key which has different effects depending upon whether
  16324. it is pushed once or twice; users would be confused by such an expedient
  16325. and uncertain about what action has been taken and its consequences.
  16326. %g "3.3/3      CANCEL Option"
  16327.  
  16328. %p
  16329. If appropriate to sequence control, provide a CANCEL option which will
  16330. have the effect of erasing any changes just made by the user and
  16331. restoring the current display to its previous version.
  16332.  
  16333. %p "Example"
  16334. In a sequence of related data entries, on several display frames, CANCEL
  16335. might erase ("clear") data in the current frame as a convenient way to
  16336. begin keying corrected data, rather than having to erase each data item
  16337. individually.
  16338.  
  16339. %p "Comment"
  16340. The easiest way to implement CANCEL may be simply to regenerate the
  16341. current display.
  16342.  
  16343. %p "Reference"
  16344. Foley Wallace 1974
  16345.  
  16346. %p "See also"
  16347. 1.4/2
  16348. %g "3.3/4      BACKUP Option"
  16349.  
  16350. %p
  16351. If appropriate to sequence control, provide a nondestructive BACKUP
  16352. option which will have the effect of returning to the display for the
  16353. last previous transaction.
  16354.  
  16355. %p "Example"
  16356. In a sequence of related data entries, on several display frames, BACKUP
  16357. might return to the previous frame, where data items could then be
  16358. erased by CANCEL or could be edited individually.
  16359.  
  16360. %p "Comment"
  16361. Such a BACKUP capability will prove feasible only in the software design
  16362. of well-defined transaction sequences, but will prove helpful when it
  16363. can be provided.
  16364.  
  16365. %p "Comment"
  16366. In some applications, BACKUP might be designed to include cancellation
  16367. of any interim entries made in a pending transaction.  More often,
  16368. however, it will be better to preserve pending entries without
  16369. processing.  Interface design should be consistent in that regard.
  16370.  
  16371. %p "Reference"
  16372. MS 5.15.7.7
  16373. Foley Van Dam 1982
  16374. Foley Wallace 1974
  16375.  
  16376. %p "See also"
  16377. 1.4/2
  16378. %g "3.3/5      REVIEW Option"
  16379.  
  16380. %p
  16381. If appropriate to sequence control, provide a nondestructive REVIEW
  16382. option which will have the effect of returning to the first display in a
  16383. defined transaction sequence, permitting the user to review a sequence
  16384. of entries and make necessary changes.
  16385.  
  16386. %p "Example"
  16387. In a sequence of related data entries, on several display frames, REVIEW
  16388. might return to the first frame, from which data could be reviewed and
  16389. edited as needed throughout the sequence of frames.
  16390.  
  16391. %p "Comment"
  16392. REVIEW is an extension of the BACKUP capability, and is useful only in
  16393. well-defined transaction sequences such as step-by-step data entry in a
  16394. question-and-answer dialogue.
  16395.  
  16396. %p "Comment"
  16397. In some applications, REVIEW might be designed to include cancellation
  16398. of any interim entries made in a pending transaction.  More often,
  16399. however, it will be better to preserve pending entries without
  16400. processing.  Interface design should be consistent in that regard.
  16401.  
  16402. %p "See also"
  16403. 1.4/2
  16404. %g "3.3/6      RESTART Option"
  16405.  
  16406. %p
  16407. If appropriate to sequence control, provide a RESTART option which will
  16408. have the effect of canceling any entries that may have been made in a
  16409. defined transaction sequence and returning to the beginning of the
  16410. sequence; when data entries or changes will be nullified by a RESTART
  16411. action, require users to CONFIRM the RESTART.
  16412.  
  16413. %p "Example"
  16414. In a sequence of related data entries, on several display frames,
  16415. RESTART might erase all data entries in the sequence and return to the
  16416. first frame.
  16417.  
  16418. %p "Comment"
  16419. A RESTART action combines the functions of REVIEW and CANCEL, and is
  16420. relevant only to well-defined transaction sequences.
  16421.  
  16422. %p "Reference"
  16423. BB 4.7
  16424. MS 5.15.7.5.d
  16425.  
  16426. %p "See also"
  16427. 3.0/21 4.2/11 6.0/5
  16428. %g "3.3/7      END Option"
  16429.  
  16430. %p
  16431. If appropriate to sequence control, provide an END option which will
  16432. have the effect of concluding a repetitive transaction sequence.
  16433.  
  16434. %p "Example"
  16435. In a repetitive sequence of data entries, where completing one
  16436. transaction cycles automatically to begin the next, END might break the
  16437. cycle and permit the user to select other transactions.
  16438.  
  16439. %p "Comment"
  16440. END can be implemented by whatever means are appropriate to the dialogue
  16441. design, i.e., by menu selection, command entry, or function key.
  16442.  
  16443. %p "Reference"
  16444. EG 4.2.10
  16445. %g "3.3/8      PAUSE and CONTINUE Options"
  16446.  
  16447. %p
  16448. If appropriate to sequence control, provide PAUSE and CONTINUE options
  16449. which will have the effect of interrupting and later resuming a
  16450. transaction sequence without any change to data entries or control logic
  16451. for the interrupted transaction.
  16452.  
  16453. %p "Example"
  16454. A user might wish to interrupt a current task to read an incoming
  16455. message.
  16456.  
  16457. %p "Example"
  16458. In the interests of data protection, as a "security pause", a user might
  16459. wish to blank a current display to prevent its being read by some casual
  16460. visitor.
  16461.  
  16462. %p "Comment"
  16463. A "security pause" may have to be implemented quickly and easily, which
  16464. suggests that this option should be offered via function key.
  16465.  
  16466. %p "See also"
  16467. 6.2/6
  16468. %g "3.3/9      +  Indicating PAUSE Status"
  16469.  
  16470. %p
  16471. If a PAUSE option is provided, display some indication of the PAUSE
  16472. status whenever that option is selected by a user, and prompt the
  16473. CONTINUE action that will permit resumption of the interrupted
  16474. transaction.
  16475. %g "3.3/10     SUSPEND Option"
  16476.  
  16477. %p
  16478. If appropriate to sequence control, provide a SUSPEND option which will
  16479. have the effect of preserving current transaction status when a user
  16480. leaves the system, and permitting resumption of work at that point when
  16481. the user later logs back onto the system.
  16482.  
  16483. %p "Comment"
  16484. In the interests of data protection, a SUSPEND option might require
  16485. special user identification procedures at subsequent log-on, to prevent
  16486. unauthorized access to suspended transactions.
  16487.  
  16488. %p "See also"
  16489. 6.1/8
  16490. %g "3.3/11     +  Indicating SUSPEND Status"
  16491.  
  16492. %p
  16493. If a SUSPEND option is provided, display some indication of the SUSPEND
  16494. status whenever that option is selected by a user, and at subsequent
  16495. log-on prompt the user in those procedures that will permit resumption
  16496. of the suspended transaction.
  16497. %a "3.4    Context Definition"
  16498.  
  16499. %p
  16500. Context definition by the computer will help ensure that control actions
  16501. are related to a user's current task.
  16502. %g "3.4/1      Defining Context for Users"
  16503.  
  16504. %p
  16505. Design the sequence control software to maintain context for the user
  16506. throughout the series of transactions comprising a task; where
  16507. appropriate, display the results of previous entries affecting present
  16508. actions, and indicate currently available options.
  16509.  
  16510. %p "See also"
  16511. 1.8/9 3.0/9 4.4/13
  16512. %g "3.4/2      +  Context Established by Prior Entries"
  16513.  
  16514. %p
  16515. Design the sequence control software to interpret current control
  16516. actions in the context of previous entries; do not require users to
  16517. re-enter data.
  16518.  
  16519. %p "Example"
  16520. If data have just been stored in a named file, permit users to request a
  16521. printout of that file without having to re-enter its name.
  16522.  
  16523. %p "Exception"
  16524. If transactions involving contextual interpretation would have
  16525. destructive effects (e.g., data deletion), then display the interpreted
  16526. command first for user confirmation.
  16527.  
  16528. %p "Comment"
  16529. The software logic supporting contextual interpretation of control
  16530. entries need not be perfect in order to be helpful.  The computer may
  16531. occasionally have to present an interpreted command for user review and
  16532. approval.  That is still easier for the user than having to specify
  16533. every command completely in the first place.
  16534.  
  16535. %p "Reference"
  16536. MS 5.15.2.1.6
  16537. PR 2.3
  16538. %g "3.4/3      +  Record of Prior Entries"
  16539.  
  16540. %p
  16541. Permit users to request a summary of the results of prior entries to
  16542. help determine present status.
  16543.  
  16544. %p "Example"
  16545. In an aircraft assignment task, there might be a status display showing
  16546. current commitments of aircraft to missions.
  16547.  
  16548. %p "Example"
  16549. In a text processing application, there might be a status display
  16550. listing documents already edited and printed in the current work
  16551. session.
  16552.  
  16553. %p "Comment"
  16554. Summarizing prior entries will be particularly helpful in tasks where
  16555. transaction sequences are variable, where a user must know what was done
  16556. in order to decide what to do next.  Summarizing prior entries may not
  16557. be needed for routine transactions if each step identifies its
  16558. predecessors explicitly, although even in those circumstances a user may
  16559. be distracted and at least momentarily become confused.
  16560.  
  16561. %p "Reference"
  16562. EG 4.2.7
  16563.  
  16564. %p "See also"
  16565. 3.1.1/3 4.4/22
  16566. %g "3.4/4      Display of Operational Mode"
  16567.  
  16568. %p
  16569. When context for sequence control is established in terms of a defined
  16570. operational mode, remind users of the current mode and other pertinent
  16571. information.
  16572.  
  16573. %p "Example"
  16574. If text is displayed in an editing mode, then a caption might indicate
  16575. EDIT as well as the name of the displayed text; if a DELETE mode is
  16576. selected for text editing, then some further displayed signal should be
  16577. provided.
  16578.  
  16579. %p "Reference"
  16580. BB 4.3.4
  16581. EG 4.2.1
  16582. MS 5.15.5.5 5.15.7.5.a
  16583.  
  16584. %p "See also"
  16585. 4.1/5 4.2/8 4.4/13
  16586. %g "3.4/5      Display of Control Parameters"
  16587.  
  16588. %p
  16589. Allow users to review any control parameter(s) that are currently
  16590. operative.
  16591.  
  16592. %p "Example"
  16593. A text processing system might display a variety of parameters to
  16594. control document printing, including margin widths, line spacing, number
  16595. of copies, etc., which would represent current default values that a
  16596. user could review and change when desired.
  16597.  
  16598. %p "Example"
  16599. A system might display a "user profile" that specifies for a particular
  16600. user which editor will be used, which message system, which general
  16601. menu, what level of prompting, etc.
  16602.  
  16603. %p "Comment"
  16604. A capability for parameter review is helpful even when a user selects
  16605. all parameters personally.  Users will sometimes be forgetful, or may
  16606. become confused, particularly if their activities are interrupted for
  16607. any reason.
  16608.  
  16609. %p "Reference"
  16610. MS 5.15.4.1.5
  16611.  
  16612. %p "See also"
  16613. 4.2/8 4.4/13
  16614. %g "3.4/6      Highlighting Selected Data"
  16615.  
  16616. %p
  16617. When a user is performing an operation on some selected display item,
  16618. highlight that item.
  16619.  
  16620. %p "Comment"
  16621. This practice will help avoid error, if a user has misunderstood or
  16622. perhaps forgotten which item was selected.
  16623.  
  16624. %p "Reference"
  16625. EG 2.1.1
  16626.  
  16627. %p "See also"
  16628. 4.2/10
  16629. %g "3.4/7      Consistent Display of Context Information"
  16630.  
  16631. %p
  16632. Ensure that information displayed to provide context for sequence
  16633. control is distinctive in location and format, and consistently
  16634. displayed from one transaction to the next.
  16635.  
  16636. %p "Reference"
  16637. MS 5.15.4.4
  16638.  
  16639. %p "See also"
  16640. 4.0/6
  16641. %a "3.5    Error Management"
  16642.  
  16643. %p
  16644. Error management by the computer will help prevent user errors and
  16645. correct those errors that do occur.
  16646. %g "3.5/1      Appropriate Response to All Entries"
  16647.  
  16648. %p
  16649. Design the interface software to deal appropriately with all possible
  16650. control entries, correct and incorrect.
  16651.  
  16652. %p "Example"
  16653. If a user selects a function key that is invalid for a particular
  16654. transaction, no action should result except display of an advisory
  16655. message indicating what functions are appropriate at that point.
  16656.  
  16657. %p "Comment"
  16658. For certain routine and easily recognized errors, such as trying to tab
  16659. beyond the end of a line, a simple auditory signal ("beep") may be
  16660. sufficient computer response.
  16661.  
  16662. %p "Reference"
  16663. PR 4.12.4.5
  16664.  
  16665. %p "See also"
  16666. 3.1.4/12 6.0/14
  16667. %g "3.5/2      Command Editing"
  16668.  
  16669. %p
  16670. Allow users to edit an extended command during its composition, by
  16671. backspacing and rekeying, before taking an explicit action to ENTER the
  16672. command.
  16673.  
  16674. %p "Comment"
  16675. Users can often recognize errors in keyed entries prior to final entry.
  16676.  
  16677. %p "Reference"
  16678. EG 5.4
  16679. MS 5.15.7.2
  16680. Neal Emmons 1984
  16681.  
  16682. %p "See also"
  16683. 1.4/2 3.1.5/23 6.0/10 6.3/8
  16684. %g "3.5/3      Prompting Command Correction"
  16685.  
  16686. %p
  16687. If an element of a command entry is not recognized, or logically
  16688. inappropriate, prompt users to correct that element rather than
  16689. requiring re-entry of the entire command.
  16690.  
  16691. %p "Example"
  16692. A faulty command can be retained in the command entry area of the
  16693. display, with the cursor automatically positioned at the incorrect item,
  16694. plus an advisory message describing the problem.
  16695.  
  16696. %p "Reference"
  16697. BB 5.2.1
  16698. EG 4.2.2 4.2.3
  16699. MS 5.15.7.1
  16700.  
  16701. %p "See also"
  16702. 4.3/15
  16703. %g "3.5/4      Errors in Stacked Commands"
  16704.  
  16705. %p
  16706. If an error is detected in a stacked series of command entries, either
  16707. consistently execute to the point of error, or else consistently require
  16708. users to correct errors before executing any command.
  16709.  
  16710. %p "Comment"
  16711. It may help the user if the commands are executed to the point of error,
  16712. or it may not.  In most applications, partial execution will probably
  16713. prove desirable.  The point here is that a considered interface design
  16714. decision should be made and then followed consistently.
  16715.  
  16716. %p "Reference"
  16717. EG 5.6
  16718. PR 4.7.3
  16719. %g "3.5/5      +  Partial Execution of Stacked Commands"
  16720.  
  16721. %p
  16722. If only a portion of a stacked command can be executed, notify the user
  16723. and provide appropriate guidance to permit correction, completion, or
  16724. cancellation of the stacked command.
  16725.  
  16726. %p "Comment"
  16727. Note that stacked commands can fail because of error in their
  16728. composition, or for other reasons such as unavailability of required
  16729. data.
  16730.  
  16731. %p "Reference"
  16732. MS 5.15.7.11
  16733. Dwyer 1981
  16734.  
  16735. %p "See also"
  16736. 4.4/7
  16737. %g "3.5/6      Explicit Entry of Corrections"
  16738.  
  16739. %p
  16740. When a user completes correction of an error, whether of a command entry
  16741. or data entry, require the user to take an explicit action to re-enter
  16742. the corrected material; use the same ENTER action for re-entry that was
  16743. used for the original entry.
  16744.  
  16745. %p "Reference"
  16746. MS 5.15.7.9
  16747. PR 4.12.4.6
  16748.  
  16749. %p "See also"
  16750. 1.0/9 3.0/5 6.0/9 6.3/11
  16751. %g "3.5/7      User Confirmation of Destructive Entries"
  16752.  
  16753. %p
  16754. When a control entry will cause any extensive change in stored data,
  16755. procedures and/or system operation, and particularly if that change
  16756. cannot be easily reversed, notify the user and require confirmation of
  16757. the action before implementing it.
  16758.  
  16759. %p "Reference"
  16760. BB 5.6
  16761. EG 4.1.2 4.2.8
  16762. MS 5.15.7.4 5.15.7.5.b
  16763. Foley Wallace 1974
  16764.  
  16765. %p "See also"
  16766. 4.3/18 6.0/18 6.0/20
  16767. %g "3.5/8      +  User Warned of Potential Data Loss"
  16768.  
  16769. %p
  16770. Word the prompt for a CONFIRM action to warn users explicitly of any
  16771. possible data loss.
  16772.  
  16773. %p "Example"
  16774.  (Good) | CONFIRM deletion of entire AIRFIELD file??  |
  16775.  
  16776.  (Bad)  | CONFIRM DELETE |
  16777.  
  16778. %p "See also"
  16779. 3.1.5/25 4.3/17 6.0/17
  16780. %g "3.5/9      +  Distinctive CONFIRM Action"
  16781.  
  16782. %p
  16783. Provide an explicitly labeled CONFIRM function key, different from the
  16784. ENTER key, for user confirmation of questionable control and data
  16785. entries.
  16786.  
  16787. %p "Comment"
  16788. Confirmation should not be accomplished by pushing some other key twice.
  16789.  
  16790. %p "Comment"
  16791. Some interface designers recommend that in special cases confirmation
  16792. should be made more difficult still, e.g., by keying the separate
  16793. letters C-O-N-F-I-R-M.  Even such extreme measures, however, cannot
  16794. guarantee that users will not make errors.
  16795.  
  16796. %p "See also"
  16797. 3.1.4/3 3.1.4/4 3.1.4/9 3.1.4/14 6.0/19
  16798. %g "3.5/10     UNDO to Reverse Control Actions"
  16799.  
  16800. %p
  16801. Ensure that any user action can be immediately reversed by an UNDO
  16802. command.
  16803.  
  16804. %p "Example"
  16805. If a user is overhasty in confirming a destructive action, and realizes
  16806. the mistake right away (i.e., before taking another action), then an
  16807. UNDO action might be taken to reverse the damage.
  16808.  
  16809. %p "Comment"
  16810. UNDO itself should be reversible, so that a second UNDO action will do
  16811. again whatever was just undone.
  16812.  
  16813. %p "Comment"
  16814. Such an UNDO capability is currently available in many interface
  16815. designs, and should be provided more generally.  Even with an UNDO
  16816. capability, however, a user may make an irretrievable mistake, if
  16817. succeeding actions intervene before a prior destructive action is
  16818. noticed.
  16819.  
  16820. %p "Reference"
  16821. Lee Lochovsky 1983
  16822. Nickerson Pew 1971
  16823. Shneiderman 1982
  16824.  
  16825. %p "See also"
  16826. 6.0/21
  16827. %g "3.5/11     +  Preventing Data Loss at LOG-OFF"
  16828.  
  16829. %p
  16830. When a user requests LOG-OFF, check pending transactions and if any
  16831. pending transaction will not be completed, or if data will be lost,
  16832. display an advisory message requesting user confirmation.
  16833.  
  16834. %p "Example"
  16835. | Current data entries have not been filed;  |
  16836. | SAVE if needed, before confirming LOG-OFF. |
  16837.  
  16838. %p "Comment"
  16839. A user may sometimes suppose that a job is done before taking necessary
  16840. implementing actions.
  16841.  
  16842. %p "Reference"
  16843. BB 4.8
  16844. MS 5.15.7.5.e
  16845.  
  16846. %p "See also"
  16847. 4.3/17 6.3/22
  16848. %g "3.5/12     +  Immediate Data Correction"
  16849.  
  16850. %p
  16851. If a data entry transaction has been completed and errors detected,
  16852. permit users to make corrections directly and immediately.
  16853.  
  16854. %p "Comment"
  16855. It is helpful to correct data entry errors at the source, i.e., while a
  16856. user still has the entry in mind and/or source documents at hand.  When
  16857. a user cannot correct an entry, as when transcribing from a source
  16858. document that itself contains an error, it may help to allow the user to
  16859. defer entry of the wrong item.  Alternatively, the user might wish to
  16860. cancel the transaction.
  16861.  
  16862. %p "Comment"
  16863. For transactions involving extended entry of multiple items, computer
  16864. checking might be invoked as each page or section of data is entered.
  16865.  
  16866. %p "Reference"
  16867. EG 5.7
  16868. PR 2.5
  16869.  
  16870. %p "See also"
  16871. 1.7/6 6.3/9
  16872. %g "3.5/13     +  Flexible BACKUP for Error Correction"
  16873.  
  16874. %p
  16875. Allow users to BACKUP easily to previous steps in a transaction sequence
  16876. in order to correct an error or make any other desired change.
  16877.  
  16878. %p "Reference"
  16879. MS 5.15.7.7
  16880.  
  16881. %p "See also"
  16882. 3.3/4 6.3/12
  16883. %a "3.6    Alarms"
  16884.  
  16885. %p
  16886. Alarms and alerting signals generated by the computer might be
  16887. controlled by users in terms of logic and operation.
  16888. %g "3.6/1      Alarm Definition by Users"
  16889.  
  16890. %p
  16891. In monitoring and process control applications, allow users to define
  16892. the conditions (in terms of variables and values) that will result in
  16893. computer generation of alarm messages.
  16894.  
  16895. %p "Example"
  16896. The nurse in charge of an intensive care monitoring station might need
  16897. to specify for each patient that a warning be signaled when blood
  16898. pressure (a "variable") exceeds or falls below defined levels
  16899. ("values").
  16900.  
  16901. %p "Exception"
  16902. There are some situations where alarm conditions must be predefined by
  16903. functional, procedural, or perhaps even legal requirements, such as
  16904. violation of aircraft separation in air traffic control.
  16905.  
  16906. %p "See also"
  16907. 4.1/10
  16908. %g "3.6/2      Distinctive and Consistent Alarms"
  16909.  
  16910. %p
  16911. Ensure that alarm signals and messages are distinctive for each class of
  16912. events.
  16913.  
  16914. %p "Comment"
  16915. Users should participate in the classification of alarming events, and
  16916. might help in specifying the desired nature of different alarm signals.
  16917.  
  16918. %p "See also"
  16919. 4.3/19
  16920. %g "3.6/3      Alarm Acknowledgment"
  16921.  
  16922. %p
  16923. Provide users with a simple means of acknowledging and turning off
  16924. non-critical alarm signals.
  16925.  
  16926. %p "Example"
  16927. A function key labeled ALARM OFF would suffice for this purpose.
  16928. %g "3.6/4      +  Alarm Reset"
  16929.  
  16930. %p
  16931. Provide users with a simple means of turning off an auditory alarm,
  16932. without erasing any displayed message that accompanies the auditory
  16933. signal.
  16934.  
  16935. %p "Example"
  16936. A function key labeled ALARM RESET would suffice for this purpose.
  16937.  
  16938. %p "Comment"
  16939. Turning off an auditory alarm will ensure that any succeeding alarm
  16940. condition will be able to generate a new auditory signal to attract the
  16941. user's attention.
  16942. %g "3.6/5      +  Special Acknowledgment of Critical Alarms"
  16943.  
  16944. %p
  16945. If users are required to acknowledge a special or critical alarm in some
  16946. special way, ensure that such acknowledgment will not inhibit or slow
  16947. remedial user response to the critical initiating condition.
  16948.  
  16949. %p "Comment"
  16950. Do not make acknowledgment of critical alarms too complicated.  Help
  16951. users deal with the cause of an alarm rather than the symptom.
  16952. %a "3.7    Design Change"
  16953.  
  16954. %p
  16955. Design change of software supporting control functions may be needed to
  16956. meet changing operational requirements.
  16957. %g "3.7/1      Flexible Design for Sequence Control"
  16958.  
  16959. %p
  16960. When sequence control requirements may change, which is often the case,
  16961. provide some means for the user (or a system administrator) to make
  16962. necessary changes to control functions.
  16963.  
  16964. %p "Comment"
  16965. Sequence control functions that may need to be changed include those
  16966. represented in these guidelines, namely, the types of dialogue that are
  16967. provided, procedures for transaction selection and interrupt, methods
  16968. for context definition and error management, and alarm control.
  16969.  
  16970. %p "See also"
  16971. 3.0/1 3.1.3/28 3.1.5/10 3.1.5/14 3.2/18 3.2/19 3.6/1
  16972. %s "4 USER GUIDANCE"
  16973.  
  16974. %p
  16975. User guidance refers to error messages, alarms, prompts, and labels, as
  16976. well as to more formal instructional material provided to help guide a
  16977. user's interaction with a computer.  The fundamental objectives of user
  16978. guidance are to promote efficient system use (i.e., quick and accurate
  16979. use of full capabilities), with minimal memory load on the user and
  16980. hence minimal time required to learn system use, and with flexibility
  16981. for supporting users of different skill levels.
  16982.  
  16983. %p
  16984. User guidance should be regarded as a pervasive and integral part of
  16985. interface design that contributes significantly to effective system
  16986. operation.  User guidance cannot be merely a decoration added at the
  16987. end, like frosting on a cake.  A study by Magers (1983) has demonstrated
  16988. convincingly that good user guidance can result in faster task
  16989. performance, fewer errors, greater user satisfaction, and will permit
  16990. accomplishment of information handling tasks otherwise impossible for
  16991. novice users.
  16992.  
  16993. %p
  16994. A narrow view of user guidance deals with preventing and correcting user
  16995. errors.  But minimizing user errors may require improvements in broad
  16996. aspects of interface design -- in techniques for data display, in
  16997. procedures for data entry and sequence control -- as well as provision
  16998. of user guidance.  Moreover, any general consideration of user guidance
  16999. functions must include provision of status information, job aids, and
  17000. routine feedback, as well as feedback for error correction.
  17001.  
  17002. %p
  17003. Many user interface design features contribute directly or indirectly to
  17004. guide a user's interaction with an on-line computer system.  The primary
  17005. principle governing this aspect of interface design is to maintain
  17006. consistency.  With consistent interface design, users can learn to apply
  17007. computer tools more quickly, more accurately, and with more confidence.
  17008.  
  17009. %p
  17010. Design consistency implies predictability of system response to user
  17011. inputs.  A fundamental principle is that some response be received.  For
  17012. every action (input) by the user there should be a noticeable reaction
  17013. (output) from the computer.  It is this feedback linking action to
  17014. reaction that defines each discrete transaction and maintains user
  17015. orientation in interaction with the system.
  17016.  
  17017. %p
  17018. The importance of feedback information for guiding the user has been
  17019. emphasized by Engel and Granda (1975, page 13) in their recommendations
  17020. for user interface design:
  17021.     
  17022.      Feedback to user action covers keeping the user informed of where
  17023.      he is, what he has done, and whether it was successful.  . . . In
  17024.      an interactive computing situation, immediate feedback by the
  17025.      system is important in establishing the user's confidence and
  17026.      satisfaction with the system.  One of the more frustrating aspects
  17027.      of any interactive system is sitting at the terminal after entering
  17028.      something and waiting for a response.  Questions arise such as, 'Is
  17029.      the system still going?', 'Is the terminal still connected to the
  17030.      system?', 'Did the computer lose my input?', 'Is the system in a
  17031.      loop?'.  A message that indicates that the system is still working
  17032.      on the problem or a signal that appears while the system is
  17033.      processing the user's input provides the user with the necessary
  17034.      assurance that everything is all right.
  17035.  
  17036. %p
  17037. Predictability of computer response is related to system response time.
  17038. Timely response can be critical in maintaining user orientation to the
  17039. task.  If a response is received only after a long delay, the user's
  17040. attention may have wandered.  Indeed, the user may forget just which
  17041. action the machine is responding to.  Frequent user actions, generally
  17042. those involving simple inputs such as function key or menu selections,
  17043. should be acknowledged immediately.  In transactions where output must
  17044. be deferred pending the results of computer search and/or calculation,
  17045. the expected delay should be indicated to the user in a quick interim
  17046. message.
  17047.  
  17048. %p
  17049. Some experts argue that consistency of system response time may be more
  17050. important in preserving user orientation than the absolute value of the
  17051. delay, even suggesting that designers should delay fast responses
  17052. deliberately in order to make them more consistent with occasional slow
  17053. responses.  Perhaps such a reduction in response time variability may be
  17054. desirable.  If system response time is always slow, a user can adapt to
  17055. the situation and find something else useful to do while waiting.  But
  17056. surely a better solution is to make all responses uniformly fast, or,
  17057. where that is not possible, to provide a quick interim message to warn
  17058. the user that a response will be delayed, as suggested above.  In that
  17059. way, a slow response is made predictable even though it is not
  17060. consistent with other responses.
  17061.  
  17062. %p
  17063. Ensuring fast response is probably a greater problem in the design of
  17064. general-purpose, multi-user, time-shared systems than for dedicated
  17065. information system applications.  Where an information system is
  17066. designed to accomplish defined tasks in a specified manner, data
  17067. processing loads can usually be anticipated sufficiently well in user
  17068. interface design to provide adequately fast response for all
  17069. transactions.
  17070.  
  17071. %p
  17072. Consistency is important in all aspects of user interface design.
  17073. Anyone who has tried to learn a foreign language knows the difficulty of
  17074. learning irregular verbs, whose conjugation does not follow any
  17075. consistent rule.  In the same way it is difficult to learn (and
  17076. remember) irregular features of user interface design.
  17077.  
  17078. %p
  17079. Data entry can be guided by consistent formatting of entry fields on the
  17080. display, including consistent wording of labels, consistent placement of
  17081. labels with respect to entry fields, and consistent demarcation of the
  17082. fields themselves.  Some kind of highlighting is frequently recommended
  17083. for field delineation, displaying field location and boundaries clearly
  17084. to a user.  Even more guidance could be provided by consistent use of
  17085. different field marking to indicate different types of data entry.
  17086.  
  17087. %p
  17088. For data display, formats should be consistent from one frame to
  17089. another, always including a title at the top, labels to indicate page
  17090. numbers in related displays, standard labeling of control options,
  17091. standard positioning of guidance messages, etc.  Messages indicating
  17092. user errors should be carefully worded to be both concise and
  17093. informative.  They should also be consistently worded from one message
  17094. to the next, and consistently located in the display format.  Even such
  17095. a subtle feature as cursor positioning should receive consistent
  17096. treatment in the software logic of user interface design.
  17097.  
  17098. %p
  17099. For sequence control, consistent user interface design is even more
  17100. important.  One design feature that can help guide the user is
  17101. consistent provision of a general OPTIONS display, a "home base" to
  17102. which the user can return from any point in a transaction sequence in
  17103. order to select a different transaction.  As a basic principle of user
  17104. guidance, the interface designer should not rely on a user to remember
  17105. what prior actions have been taken, or even what action is currently
  17106. being taken.  Users may be distracted by competing job demands.  For
  17107. control actions whose consequences are contingent on context, an
  17108. indication of context should always be displayed, even when that context
  17109. was defined initially by the user.
  17110.  
  17111. %p
  17112. Although consistent interface design will provide much inherent
  17113. guidance, it is often desirable to include in computer-generated
  17114. displays some explicit instructions or prompts for the user.  Such
  17115. instructions should be consistently located in display formatting,
  17116. perhaps always at the bottom where they can be ignored by experienced
  17117. users.  For novice users it may be desirable to provide supplementary
  17118. guidance or job instruction, available in response to user requests for
  17119. help.  Such optional guidance will adapt the interface to different user
  17120. capabilities, supporting the novice user without hindering the expert.
  17121.  
  17122. %p
  17123. The concern here is with on-line user instruction, as opposed to
  17124. off-line system documentation.  The need for on-line instruction has
  17125. been emphasized by Brown, Brown, Burkleo, Mangelsdorf, Olsen and Perkins
  17126. (1983, page 6-1) in their user interface guidelines developed as an
  17127. in-house design standard at Lockheed:
  17128.  
  17129.      Much of the information commonly provided in paper documentation,
  17130.      such as user manuals, should also be available on line.  A manual
  17131.      may not be available when it is needed.  Some users may never
  17132.      receive the relevant documentation.  They may not know what
  17133.      documents are available, which ones are relevant, or how to procure
  17134.      them.  Even users who possess the appropriate documentation will
  17135.      not necessarily have it with them when it is needed.
  17136.  
  17137. %p
  17138. One might add that even if users have the appropriate documentation on
  17139. hand, they may not be able to find answers to their questions,
  17140. especially when the documentation is bulky.  Effective on-line
  17141. instruction and other forms of user guidance can reduce the need for
  17142. off-line training courses based on system documentation.
  17143.  
  17144. %p
  17145. Certainly there is a strong trend in current system design toward
  17146. on-line documentation for user instruction.  This trend reflects the
  17147. decreasing cost of computer memory, and also the increasing use of
  17148. computers by people with little understanding of computer function.  The
  17149. novelty of early pioneering efforts to program computers to teach their
  17150. own use (Morrill, 1967; Morrill, Goodwin and Smith, 1968; Goodwin, 1974)
  17151. has now become almost commonplace, as we have learned more about the
  17152. techniques of on-line aiding.
  17153.  
  17154. %p
  17155. One of the principal arguments for on-line documentation is economic.
  17156. Limanowski (1983) estimates a potential cost saving of 70 to 80 percent
  17157. if on-line documentation can be provided as an alternative to more
  17158. traditional paper documentation.  If that is true, we can expect to see
  17159. increasing recourse to on-line documentation for that reason alone.
  17160.  
  17161. %p
  17162. People who are responsible for writing instructional material may be the
  17163. first to note inconsistencies in user interface design.  In the
  17164. documentation of user guidance, whether intended for on-line display or
  17165. printed handbooks, every special feature and smart shortcut provided by
  17166. software designers will add an extra paragraph, or sentence, or footnote
  17167. to the instructional material.  As special features proliferate,
  17168. instructions to the user must expand accordingly.  On-line guidance will
  17169. require more display space, and printed manuals will grow fatter.
  17170.  
  17171. %p
  17172. From this reasoning, we may conclude that interface design may be
  17173. improved if its documentation begins early, when changes are still
  17174. relatively easy to make.  On-line documentation can certainly be
  17175. prepared (and changed) more quickly than printed user manuals, which
  17176. suggests that early on-line documentation may help interface designers
  17177. as well as the eventual system users.
  17178.  
  17179. %p
  17180. Preparation of user guidance material will serve to indicate the point
  17181. of diminishing returns in further elaboration of user interface
  17182. software.  If it takes ten minutes for a user to learn a special
  17183. procedure that might save ten seconds in a seldom-used transaction, then
  17184. design elaboration has outpaced user needs.  Considering questions of
  17185. user guidance throughout interface design will ensure that a sensible
  17186. balance is struck between efficiency of operation and ease of learning,
  17187. between functionality and usability.  This practical trade-off has been
  17188. noted by others concerned with user interface design (e.g., Goodwin,
  17189. 1982), but requires continuing emphasis.
  17190.  
  17191. %p
  17192. There is clearly an intimate relation between user guidance and
  17193. interface design.  The argument presented above that preparation of user
  17194. guidance might help improve interface design can also be reversed.  That
  17195. is to say, interface designers can often help to improve user guidance.
  17196. Preparation of user guidance should not be left solely the separate
  17197. responsibility of technical writers who were not involved in the design
  17198. process.  Interface designers should participate as well.
  17199.  
  17200. %p
  17201. In the course of design, a designer must sometimes make decisions that
  17202. favor one group of users at the expense of another.  As an example, for
  17203. a system that will be used frequently by most of its users, a designer
  17204. might choose to emphasize flexibility over simplicity when those two
  17205. design goals conflict, while understanding that this priority could
  17206. handicap some people who will use the system only occasionally.  This
  17207. priority would be reflected in the designer's choice of dialogue type,
  17208. in the availability of control options, in display layouts, etc.  A
  17209. thoughtful designer can sometimes predict that users will have
  17210. difficulty with particular design features.  When that is the case, the
  17211. designer's insight can contribute to the development of effective user
  17212. guidance material.
  17213.  
  17214. %p
  17215. In considering guidelines for design of user guidance functions, we must
  17216. recognize that user guidance is a pervasive concern in interface design.
  17217. Many of the guidelines proposed for data entry, data display, and
  17218. sequence control functions have the implicit objective of making a
  17219. system easier to learn and easier to understand during its use.  From
  17220. general recommendations for design consistency, through more detailed
  17221. guidelines to help distinguish different aspects of information handling
  17222. transactions, there must be an underlying concern for guiding the user's
  17223. interaction with the computer.  Thus almost any guideline for user
  17224. guidance could be cross-referenced to a wide range of other design
  17225. recommendations.  Of the many possible cross references, a number of
  17226. specific interest are cited in the guidelines proposed here.
  17227.  
  17228. %p Objectives
  17229. Consistency of operational procedures
  17230. Efficient use of full system capabilities
  17231. Minimal memory load on user
  17232. Minimal learning time
  17233. Flexibility in supporting different users
  17234. %a "4.0    General"
  17235.  
  17236. %p
  17237. User guidance refers to error messages, alarms, prompts, and labels, as
  17238. well as to more formal instructional material.
  17239. %g "4.0/1      Standard Procedures"
  17240.  
  17241. %p
  17242. Design standard procedures for accomplishing similar, logically related
  17243. transactions.
  17244.  
  17245. %p "Comment"
  17246. Standard procedures will facilitate user learning and efficient system
  17247. operation.
  17248.  
  17249. %p "Comment"
  17250. A designer might argue that for one particular transaction a standard
  17251. procedure does not seem efficient.  Perhaps the standard procedure
  17252. requires one or two more keystrokes than some special procedure that
  17253. might be devised.  But every special feature of interface design will
  17254. put a small added burden on the user's memory, and where special
  17255. procedures are not remembered they may not be used properly.  Standard
  17256. procedures will increase overall operational efficiency.
  17257.  
  17258. %p "Reference"
  17259. BB 1.2.1 2.1.5
  17260. Reisner 1981
  17261.  
  17262. %p "See also"
  17263. 3.0/6 3.0/7 6.0/7
  17264. %g "4.0/2      Explicit User Actions"
  17265.  
  17266. %p
  17267. Require users to take explicit actions to specify computer data
  17268. processing; the computer should not take extra (and possibly
  17269. unrecognized) actions beyond those specified by a user.
  17270.  
  17271. %p "Exception"
  17272. Automatic cross file updating following data change might be considered
  17273. an exception to this rule.
  17274.  
  17275. %p "Comment"
  17276. Explicit actions, even though they may require an extra keystroke or
  17277. two, will help a user to learn procedures and to understand better what
  17278. is happening in any transaction.  In effect, requiring the user to take
  17279. action to accomplish something can be regarded as a form of guidance.
  17280.  
  17281. %p "Comment"
  17282. An interface designer, with expert knowledge of the system and its
  17283. internal workings, is sometimes tempted to provide the user with "smart
  17284. shortcuts", where the computer will execute automatically some action
  17285. that the user would surely need to take.  Incorporating such smart
  17286. shortcuts in interface design, though done with the intention of helping
  17287. the user, will risk confusing any but the most expert users.
  17288.  
  17289. %p "Reference"
  17290. MS 5.15.2.1.4
  17291.  
  17292. %p "See also"
  17293. 1.0/9 1.7/4 3.0/5 3.1.4/9 3.2/1 6.0/9
  17294. %g "4.0/3      Separate LOG-ON Procedure"
  17295.  
  17296. %p
  17297. In applications where users must log on to the system, design LOG-ON as
  17298. a separate procedure that is completed before a user is required to
  17299. select among any operational options.
  17300.  
  17301. %p "Comment"
  17302. Separate LOG-ON will focus user attention on the required input(s),
  17303. without the distraction of having to anticipate other decisions, and
  17304. will help reduce initial confusion, particularly for novice users.
  17305.  
  17306. %p "Reference"
  17307. BB 4.6.1
  17308. %g "4.0/4      Display of Guidance Information"
  17309.  
  17310. %p
  17311. In general, follow recommendations for the design of data displays when
  17312. designing user guidance displays.
  17313.  
  17314. %p "Comment"
  17315. Some of the specific guidelines for data display are restated for
  17316. convenient reference in this section, as particularly appropriate for
  17317. display of user guidance.  Many other applicable data display guidelines
  17318. are cited by cross reference.
  17319.  
  17320. %p "See also"
  17321. 2
  17322. %g "4.0/5      Only Necessary Information Displayed"
  17323.  
  17324. %p
  17325. Tailor the display for any transaction to the current information
  17326. requirements of the user, so that only relevant data are displayed.
  17327.  
  17328. %p "Comment"
  17329. When this can be done successfully, so that only relevant data are
  17330. displayed, the display itself provides implicit guidance, showing what
  17331. data should be considered.  Conversely, display of irrelevant data will
  17332. tend to confuse the user.
  17333.  
  17334. %p "Reference"
  17335. BB 1.7
  17336. MS 5.15.3.1.2
  17337.  
  17338. %p "See also"
  17339. 2.0/1 2.0/2 2.7.2/1
  17340. %g "4.0/6      Consistent Display Format"
  17341.  
  17342. %p
  17343. Create display formats with a consistent structure evident to the user,
  17344. so that any particular type of data is always presented in the same
  17345. place and in the same way.
  17346.  
  17347. %p "Comment"
  17348. Consistent display formats will help new users learn to interact
  17349. efficiently with the system.
  17350.  
  17351. %p "Reference"
  17352. EG 2.3
  17353. MS 5.15.3.1.1
  17354.  
  17355. %p "See also"
  17356. 1.4/24 1.4/25 2.0/6 2.5/1 2.7.1/4 3.0/8 3.1.3/8 3.1.3/32 3.1.5/2 3.4/7 4.4/8
  17357. %g "4.0/7      +  Consistent Format for User Guidance"
  17358.  
  17359. %p
  17360. Format each different type of user guidance consistently across
  17361. displays.
  17362.  
  17363. %p "Example"
  17364. Display titles might be centered at the top of the display, with display
  17365. identification codes at the upper left corner.  The bottom line of the
  17366. display should be reserved for command entries, where needed, in which
  17367. case the line just above it could be used for prompts and advisory
  17368. messages.
  17369.  
  17370. %p "Comment"
  17371. Types of user guidance include display titles, labeling of data entry
  17372. fields, prompts for data/command entry, error messages, alarms, status
  17373. and other advisory messages, as well as on-line instructional material.
  17374.  
  17375. %p "Comment"
  17376. Consistent allocation of particular areas of a display for user guidance
  17377. may be sufficient.  Certain types of guidance, however, such as alarms
  17378. and error messages, may require auxiliary coding to help attract user
  17379. attention.
  17380.  
  17381. %p "Reference"
  17382. BB 1.1.1 1.1.2 2.1.2
  17383. EG 2.3
  17384. PR 4.5.3
  17385.  
  17386. %p "See also"
  17387. 1.4/17 2.5/11
  17388. %g "4.0/8      Distinctive Format for User Guidance"
  17389.  
  17390. %p
  17391. Design display formats so that user guidance material is readily
  17392. distinguishable from displayed data.
  17393.  
  17394. %p "Comment"
  17395. Consistent location of user guidance on the display will usually
  17396. suffice, but other formatting conventions may help distinguish
  17397. particular categories of user guidance, such as labels, prompts, etc.,
  17398. as recommended in other guidelines.
  17399.  
  17400. %p "Reference"
  17401. BB 1.8.5 2.1.1
  17402. EG 2.1 2.3 3.2.3
  17403.  
  17404. %p "See also"
  17405. 1.4/16 1.5/2 2.2/8 2.5/2 3.1.3/20 3.1.4/17
  17406. %g "4.0/9      +  Distinctive Cursor"
  17407.  
  17408. %p
  17409. Design cursors (in terms of shape, blink, or other means of
  17410. highlighting) so that they are readily distinguished from other
  17411. displayed items.
  17412.  
  17413. %p "Comment"
  17414. When a cursor is automatically positioned under computer control, it can
  17415. serve to direct the user's attention to a particular point on a display,
  17416. and so it should be designed to catch the eye.  Even when the cursor has
  17417. been positioned by a user, if the user is momentarily distracted then a
  17418. distinctive format may help locate the cursor.
  17419.  
  17420. %p "Comment"
  17421. A cursor is the most immediate and continuously available form of user
  17422. guidance, since it will generally mark the current focus of user
  17423. attention.  With this in mind, the interface designer may decide to use
  17424. different cursor formats to denote different operational conditions.  If
  17425. that is done, each of those different cursors should be distinctive from
  17426. other displayed items, and from each other.
  17427.  
  17428. %p "See also"
  17429. 1.1/1 4.1/5
  17430. %g "4.0/10     Clear Control Labels"
  17431.  
  17432. %p
  17433. Label function keys and other controls clearly to indicate their
  17434. function.
  17435.  
  17436. %p "Reference"
  17437. BB 4.4.7
  17438. MS 5.15.2.3.9
  17439.  
  17440. %p "See also"
  17441. 1.0/10 3.1.4/4
  17442. %g "4.0/11     Clear Data Labels"
  17443.  
  17444. %p
  17445. Label all displayed data clearly.
  17446.  
  17447. %p "Comment"
  17448. Labels for individual data fields can be omitted only where display
  17449. format and labeling of grouped data clearly identify subordinate items,
  17450. as in row/column labeling of tabular data.
  17451.  
  17452. %p "Reference"
  17453. BB 1.8.7
  17454. MS 5.15.3.1.9
  17455.  
  17456. %p "See also"
  17457. 1.4/5 1.4/19 1.4/20 1.4/21 1.4/23 1.5/3 2.2/3
  17458. %g "4.0/12     Highlighting Critical User Guidance"
  17459.  
  17460. %p
  17461. Whatever methods are used to highlight critical items in data display,
  17462. adopt similar methods to highlight the display of critical user guidance
  17463. information.
  17464.  
  17465. %p "Comment"
  17466. Alarms and warning messages may require output of auxiliary auditory
  17467. signals as well as display highlighting, to help assure that they
  17468. attract the user's attention.
  17469.  
  17470. %p "Reference"
  17471. EG 2.1
  17472. MS 5.15.3.3.1
  17473.  
  17474. %p "See also"
  17475. 2.6/1 3.6/2 4.3/17
  17476. %g "4.0/13     Consistent Coding Conventions"
  17477.  
  17478. %p
  17479. Ensure that symbols and other codes have consistent meanings from one
  17480. display to another.
  17481.  
  17482. %p "Comment"
  17483. This practice will aid user learning of new codes, so that they will
  17484. gain familiarity.  Where codes have special meanings, those should be
  17485. defined in the display.
  17486.  
  17487. %p "Reference"
  17488. BB 3.6.1
  17489.  
  17490. %p "See also"
  17491. 2.6/7 2.6/16 2.6/32 3.1.3/13 4.4/21
  17492. %g "4.0/14     +  Familiar Coding Conventions"
  17493.  
  17494. %p
  17495. Ensure that codes and abbreviations for data entry/display conform to
  17496. conventional usage and user expectations.
  17497.  
  17498. %p "Comment"
  17499. Conventional usage will aid user learning of codes, and reduce the
  17500. likelihood of user error in code generation (entry) and code
  17501. interpretation (display).
  17502.  
  17503. %p "Comment"
  17504. Deviation from familiar meanings, such as using an aircraft symbol to
  17505. denote artillery and vice versa, would almost certainly confuse users.
  17506.  
  17507. %p "Reference"
  17508. BB 3.7.1
  17509.  
  17510. %p "See also"
  17511. 2.6/5 2.6/32
  17512. %g "4.0/15     Consistent Wording"
  17513.  
  17514. %p
  17515. Ensure that the names for function keys, command names, etc., are
  17516. consistent for similar or identical functions in different transaction
  17517. sequences.
  17518.  
  17519. %p "Example"
  17520. As a negative example, do not call the same function EDIT in one place,
  17521. MODIFY in another, UPDATE in a third.
  17522.  
  17523. %p "Comment"
  17524. Consistency in interface design is the fundamental basis of effective
  17525. user guidance.
  17526.  
  17527. %p "Reference"
  17528. BB 3.7.2
  17529. EG 4.2.9
  17530.  
  17531. %p "See also"
  17532. 3.0/10 3.1.3/12 3.1.3/14 3.1.3/19 3.1.5/7
  17533. %g "4.0/16     +  Familiar Wording"
  17534.  
  17535. %p
  17536. When wording labels, prompts and user guidance messages, adopt
  17537. terminology familiar to users.
  17538.  
  17539. %p "Example"
  17540.  (Good) | Data requires special access code; |
  17541.         | call Data Base Admin, X 9999.      |
  17542.  
  17543.  (Bad)  | IMS/VS DBMS private data; see DBSA, 0/99-99. |
  17544.  
  17545. %p "Comment"
  17546. User testing and iterative design will often be needed to eliminate
  17547. difficult words, abbreviations and acronyms that are not generally
  17548. familiar to all users.
  17549.  
  17550. %p "Reference"
  17551. BB 3.7.1 3.7.3
  17552. EG 3.4.5 4.2.12
  17553. PR 2.4
  17554. Magers 1983
  17555.  
  17556. %p "See also"
  17557. 2.0/4 2.0/12 3.1.5/6
  17558. %g "4.0/17     +  Task-Oriented Wording"
  17559.  
  17560. %p
  17561. Adopt task-oriented wording for labels, prompts and user guidance
  17562. messages, incorporating whatever special terms and technical jargon may
  17563. be customarily employed in the users' tasks.
  17564.  
  17565. %p "Comment"
  17566. Jargon terms may be helpful, if they represent the jargon of the user
  17567. and not of the designer or programmer.  The rule here should be to know
  17568. the users and adapt interface design to their vocabulary instead of
  17569. forcing them to learn new wording.
  17570.  
  17571. %p "Reference"
  17572. BB 3.7.3
  17573. EG 4.2.13
  17574. PR 2.4
  17575. Magers 1983
  17576.  
  17577. %p "See also"
  17578. 1.4/22 2.0/12 3.1.5/6 3.1.5/7 3.2/9
  17579. %g "4.0/18     +  Wording Consistent with Control Entry"
  17580.  
  17581. %p
  17582. Choose wording for user guidance that is consistent with the words used
  17583. for control entries.
  17584.  
  17585. %p "Example"
  17586.  (Good) | To delete a paragraph, press DELETE and then PARAGRAPH. |
  17587.  
  17588.  (Bad)  | To erase a paragraph, press DELETE and then PARAGRAPH.  |
  17589.  
  17590. %p "Example"
  17591. If a user must complete a control form to specify printer settings, the
  17592. words used as labels on that form should also be used in any error
  17593. messages and HELP displays which may guide that process.
  17594.  
  17595. %p "Comment"
  17596. When selecting or composing control entries, a user will tend to mimic
  17597. the vocabulary, format, and word order used in computer displays,
  17598. including labels, error messages, HELP displays, etc.  If displayed
  17599. wording is consistent with required entries, a user will be more likely
  17600. to make a correct entry on the first try.
  17601.  
  17602. %p "Comment"
  17603. Consistent wording of user guidance will be particularly helpful for
  17604. dialogues based on constrained natural language.  If a designer begins
  17605. by determining which words and formats users are likely to choose
  17606. naturally, and then reinforces that usage by incorporating such wording
  17607. in user guidance, much of a user's interaction with the computer will be
  17608. predictable.  Therefore, the "natural language" need not accommodate the
  17609. full range of possible entries, but only those entries which users are
  17610. likely to make.
  17611.  
  17612. %p "Reference"
  17613. Good Whiteside Wixon Jones 1984
  17614. Mooers 1983
  17615. Zoltan-Ford 1984
  17616.  
  17617. %p "See also"
  17618. 2.0/7 3.0/13 3.1.7/1
  17619. %g "4.0/19     +  Speaking Directly to Users"
  17620.  
  17621. %p
  17622. Choose wording for user guidance that speaks directly to a user, rather
  17623. than talking about users.
  17624.  
  17625. %p "Example"
  17626.  (Good) | Press ENTER to continue.  |
  17627.  
  17628.  (Bad)  | The user should press ENTER to continue. |
  17629.  
  17630. %p "Reference"
  17631. Pakin Wray 1982
  17632. %g "4.0/20     +  Affirmative Statements"
  17633.  
  17634. %p
  17635. Adopt affirmative rather than negative wording for user guidance
  17636. messages.
  17637.  
  17638. %p "Example"
  17639.  (Good) | Clear the screen before entering data.  |
  17640.  (Bad)  | Do not enter data before clearing the screen. |
  17641.  
  17642. %p "Comment"
  17643. Affirmative statements are easier to understand.  Tell the user what to
  17644. do rather than what to avoid.
  17645.  
  17646. %p "Reference"
  17647. BB 3.8.3 5.3.9
  17648.  
  17649. %p "See also"
  17650. 2.1/16
  17651. %g "4.0/21     +  Active Voice"
  17652.  
  17653. %p
  17654. Adopt active rather than passive voice in user guidance messages.
  17655.  
  17656. %p "Example"
  17657.  (Good) | Clear the screen by pressing RESET. |
  17658.  (Bad)  | The screen is cleared by pressing RESET. |
  17659.  
  17660. %p "Comment"
  17661. Sentences in active voice are easier to understand.
  17662.  
  17663. %p "Reference"
  17664. BB 3.8.5
  17665.  
  17666. %p "See also"
  17667. 2.1/17
  17668. %g "4.0/22     +  Temporal Sequence"
  17669.  
  17670. %p
  17671. When user guidance describes a sequence of steps, follow that same
  17672. sequence in the wording of user guidance.
  17673.  
  17674. %p "Example"
  17675.  (Good) | Enter LOG-ON sequence before running programs.  |
  17676.  (Bad)  | Before running programs, enter LOG-ON sequence. |
  17677.  
  17678. %p "Reference"
  17679. BB 3.8.6
  17680.  
  17681. %p "See also"
  17682. 2.1/18
  17683. %g "4.0/23     +  Consistent Grammatical Structure"
  17684.  
  17685. %p
  17686. Be consistent in grammatical construction when wording user guidance.
  17687.  
  17688. %p "Example"
  17689.  (Good)                    (Bad)
  17690. | Options:          |     | Options:             |
  17691. | s = Select data   |     | s = Select data      |
  17692. | e = Erase display |     | e = Erasure function |
  17693. | w = Write file    |     | w = Write file       |
  17694.  
  17695. %p "Comment"
  17696. Even minor inconsistencies can distract a user, and delay comprehension
  17697. as the user wonders momentarily whether some apparent difference
  17698. represents a real difference.
  17699.  
  17700. %p "Comment"
  17701. Consistent grammatical construction may help a user resolve an ambiguous
  17702. message (e.g., | Numeric entry |) to understand whether it recommends an
  17703. action (e.g., "You should enter a number") or indicates an error
  17704. condition (e.g., "You entered a number when you shouldn't have").
  17705.  
  17706. %p "Reference"
  17707. BB 3.8.4
  17708. Pakin Wray 1982
  17709. Smith 1981b
  17710.  
  17711. %p "See also"
  17712. 2.0/15 2.2/5 3.1.3/11
  17713. %g "4.0/24     Flexible User Guidance"
  17714.  
  17715. %p
  17716. When techniques adopted for user guidance (display of option lists,
  17717. command prompting, etc.) may slow an experienced user, provide
  17718. alternative paths or modes permitting a user to by-pass standard
  17719. guidance procedures.
  17720.  
  17721. %p "Comment"
  17722. Multiple paths, such as command entry to by-pass a menu, or use of
  17723. abbreviated rather than complete commands, can speed the performance of
  17724. an experienced user.  The interface designer, however, should take care
  17725. that such shortcuts supplement rather than supplant the standard, fully
  17726. guided procedures provided for novice users.
  17727.  
  17728. %p "Reference"
  17729. BB 4.5
  17730.  
  17731. %p "See also"
  17732. 3.0/2 4.4/31 4.4/32
  17733. %g "4.0/25     +  Easy Ways to Get Guidance"
  17734.  
  17735. %p
  17736. Allow users to switch easily between any information handling
  17737. transaction and its associated guidance material.
  17738.  
  17739. %p "Example"
  17740. Guidance might be displayed as a temporary "window" overlay on the
  17741. working display, which a user could request or suppress at will.
  17742.  
  17743. %p "Comment"
  17744. If user guidance is difficult to obtain, and/or if asking for guidance
  17745. will disrupt a current transaction (e.g., erase a working display), then
  17746. users will prefer to guess at proper procedures rather than seeking
  17747. help.
  17748.  
  17749. %p "Reference"
  17750. Limanowski 1983
  17751. %g "4.0/26     Speech Output"
  17752.  
  17753. %p
  17754. Consider computer-generated speech output for user guidance messages in
  17755. environments with low ambient noise, when a user's attention may not be
  17756. directed toward a visual display or when providing a visual display is
  17757. impractical.
  17758.  
  17759. %p "Example"
  17760. Computer-generated speech might be used to provide prompts or status
  17761. messages, including warnings.  A familiar example of the use of
  17762. computer-generated speech for warnings is the "talking dashboard", which
  17763. tells a car driver when a door is open, or when the car requires
  17764. service.
  17765.  
  17766. %p "Comment"
  17767. A noisy environment, particularly noise from other voices, will make it
  17768. difficult for a user to hear computer-generated speech.
  17769.  
  17770. %p "Comment"
  17771. Auditory signals such as computer-generated speech are useful for
  17772. notifying a user of important information when his/her attention is
  17773. focused somewhere other than a visual display, such as when a
  17774. touch-typist transcribes data from a paper form.
  17775.  
  17776. %p "Comment"
  17777. Speech output might also help a user who must access a computer from a
  17778. remote location, by telephone.
  17779.  
  17780. %p "Comment"
  17781. When considering speech output for user guidance, remember that people
  17782. other than the user might hear those spoken messages.  Speech output may
  17783. prove distracting to other people trying to work nearby.  Or the user of
  17784. a system may not wish others to hear his/her messages, as might be the
  17785. case if spoken messages were provided for an automated banking
  17786. application.
  17787.  
  17788. %p "Reference"
  17789. Thomas Rosson 1984
  17790. %g "4.0/27     +  Limited Number of Spoken Messages"
  17791.  
  17792. %p
  17793. Limit computer-generated speech to provide only a few messages.
  17794.  
  17795. %p "Example"
  17796. As negative examples, computer-generated speech would not be useful if
  17797. many messages might be given at one time, or for conveying a lengthy
  17798. list of menu options.
  17799.  
  17800. %p "Comment"
  17801. When messages are spoken, the user must remember each message.  If many
  17802. different messages are given one after another, then a user would
  17803. probably not remember them all, and might only remember one or two.
  17804. %g "4.0/28     +  Simple Spoken Messages"
  17805.  
  17806. %p
  17807. When using computer-generated speech to provide messages, ensure that
  17808. those messages are short and simple.
  17809.  
  17810. %p "Comment"
  17811. If a user does not understand a written message, s/he can reread it.
  17812. That is not the case with spoken messages.  Though a REPEAT function
  17813. might be provided, a better solution is to restrict use of speech
  17814. outputs for short and simple messages.
  17815.  
  17816. %p "Comment"
  17817. If a user who may not be watching a display must be given long or
  17818. complex messages, it is probably better to provide a simple auditory
  17819. signal such as a chime, and then display the messages visually for the
  17820. user to read.  In general, users will understand complex messages better
  17821. when they see them displayed than when they hear them.
  17822.  
  17823. %p "Reference"
  17824. Thomas Rosson 1984
  17825. %g "4.0/29     +  Distinctive Spoken Warnings"
  17826.  
  17827. %p
  17828. If computer-generated speech is used to provide warnings as well as
  17829. other forms of user guidance, ensure that spoken warnings are easily
  17830. distinguishable from routine messages.
  17831.  
  17832. %p "Example"
  17833. Speech output used to identify dangerous conditions might use some
  17834. distinctive voice (perhaps female rather than male, or vice versa)
  17835. and/or preface each warning message with some other distinctive auditory
  17836. signal.
  17837.  
  17838. %p "Comment"
  17839. In some applications, computer-generated speech might be useful for
  17840. providing a few short and simple warnings.  However, if speech output is
  17841. also used for other purposes, then the warning messages must be
  17842. distinctive.
  17843.  
  17844. %p "Reference"
  17845. Hakkinen Williges 1984
  17846. Simpson McCauley Roland Ruth Williges 1985
  17847. Simpson Williams 1980
  17848.  
  17849. %p "See also"
  17850. 2.6/42
  17851. %a "4.1    Status Information"
  17852.  
  17853. %p
  17854. Status information on current data processing should be available at all
  17855. times, automatically or by request.
  17856. %g "4.1/1      Indicating Status"
  17857.  
  17858. %p
  17859. Provide some indication of system status to users at all times.
  17860.  
  17861. %p "Comment"
  17862. In some applications, system status may be continuously displayed.
  17863. Status display can be explicit (e.g., by message), or can be implicit
  17864. (e.g., by a displayed clock whose regular time change offers assurance
  17865. that the computer link is still operating).  Alternatively, system
  17866. status information might be provided only on user request, following a
  17867. general or specific query.
  17868.  
  17869. %p "Comment"
  17870. Status information is particularly needed, of course, when system
  17871. operation is unreliable for any reason.  Under those conditions, if
  17872. status information is not provided by design, users will often devise
  17873. their own repertoire of harmless but time-wasting inputs to test system
  17874. performance.
  17875.  
  17876. %p "Comment"
  17877. When system status changes, it may be desirable for the computer to
  17878. generate an advisory message to draw users' attention to that change.
  17879.  
  17880. %p "Reference"
  17881. BB 4.3
  17882. MS 5.15.1.4.b
  17883. %g "4.1/2      Automatic LOG-ON Display"
  17884.  
  17885. %p
  17886. When users must log on to a system, display appropriate prompts for
  17887. LOG-ON procedures automatically at a user's terminal; do not require
  17888. users to take any special action to obtain a LOG-ON display, other than
  17889. turning on the terminal.
  17890.  
  17891. %p "Comment"
  17892. An automatic LOG-ON display will signal the operational availability of
  17893. a terminal, as well as prompting the user to make necessary initial
  17894. inputs.
  17895.  
  17896. %p "Reference"
  17897. BB 4.6.1
  17898. EG 4.2.6
  17899.  
  17900. %p "See also"
  17901. 4.0/3
  17902. %g "4.1/3      +  LOG-ON Delay"
  17903.  
  17904. %p
  17905. If a user tries to log onto a system and LOG-ON is denied because of
  17906. system unavailability, display an advisory message to tell the user what
  17907. the system status is and when the system will become available.
  17908.  
  17909. %p "Example"
  17910. | System is down for maintenance until 9:30 AM. |
  17911.  
  17912. %p "Comment"
  17913. Avoid "as soon as possible" messages.  Make an estimate of system
  17914. availability, and update the estimate later if that becomes necessary.
  17915.  
  17916. %p "Reference"
  17917. BB 4.3.5
  17918. %g "4.1/4      Keyboard Lock"
  17919.  
  17920. %p
  17921. If at any time the keyboard is locked, or the terminal is otherwise
  17922. disabled, notify the user.
  17923.  
  17924. %p "Example"
  17925. Control lockout might be signaled by disappearance of the cursor from
  17926. the display, or by a notable change in the shape of the cursor,
  17927. accompanied by an auditory signal.
  17928.  
  17929. %p "Comment"
  17930. An auditory signal will be especially helpful to touch-typists, who may
  17931. be looking at source documents for data entry rather than at the display
  17932. or keyboard.
  17933.  
  17934. %p "See also"
  17935. 3.0/20
  17936. %g "4.1/5      Operational Mode"
  17937.  
  17938. %p
  17939. When the results of user action are contingent upon different
  17940. operational modes, then clearly indicate the currently selected mode.
  17941.  
  17942. %p "Example"
  17943. A change in display caption and/or cursor shape might suffice to alert
  17944. users to changing modes.
  17945.  
  17946. %p "Reference"
  17947. BB 4.3.4
  17948. MS 5.15.7.5.b
  17949.  
  17950. %p "See also"
  17951. 3.4/4 4.2/8 4.4/13
  17952. %g "4.1/6      Other Users"
  17953.  
  17954. %p
  17955. When task performance requires data exchange and/or interaction with
  17956. other users, allow a user to obtain status information concerning other
  17957. people currently using the system.
  17958.  
  17959. %p "Comment"
  17960. If there are many other users, it might be helpful to allow a user to
  17961. ask whether any particular individual is a current user.
  17962.  
  17963. %p "See also"
  17964. 5.3/5
  17965. %g "4.1/7      System Load"
  17966.  
  17967. %p
  17968. When task performance is affected by operational load (e.g., number of
  17969. on-line users), allow a user to obtain status information indicating
  17970. current system performance, expressed in terms of computer response
  17971. time.
  17972.  
  17973. %p "Comment"
  17974. It may be necessary to define a "standard" function for which computer
  17975. response time is predicted on a normalized basis.
  17976.  
  17977. %p "Comment"
  17978. Such load information is primarily helpful, of course, when system use
  17979. is optional, i.e., when a user can choose to defer work until low-load
  17980. periods.  But load status information may help in any case by
  17981. establishing realistic user expectations for system performance.
  17982. %g "4.1/8      External Systems"
  17983.  
  17984. %p
  17985. When task performance requires data exchange and/or interaction with
  17986. other systems, allow a user to obtain relevant status information for
  17987. external systems.
  17988.  
  17989. %p "See also"
  17990. 5.3/5
  17991. %g "4.1/9      Date and Time Signals"
  17992.  
  17993. %p
  17994. When task performance requires or implies the need to assess currency of
  17995. information, annotate displays with date-time signals.
  17996.  
  17997. %p "Comment"
  17998. Depending on the application date-time status might be displayed
  17999. continuously or periodically on displays that are automatically updated,
  18000. or by user request.
  18001. %g "4.1/10     Alarm Settings"
  18002.  
  18003. %p
  18004. When alarm signals are established on the basis of logic defined by
  18005. users, permit users to obtain status information concerning current
  18006. alarm settings, in terms of dimensions (variables) covered and values
  18007. (categories) established as critical.
  18008.  
  18009. %p "Comment"
  18010. Alarm status information will be particularly helpful in monitoring
  18011. situations where responsibility may be shifted from one user to another
  18012. ("change of watch").
  18013.  
  18014. %p "See also"
  18015. 3.6/1
  18016. %a "4.2    Routine Feedback"
  18017.  
  18018. %p
  18019. Routine feedback should be provided by a computer to its users as
  18020. transactions are processed.
  18021. %g "4.2/1      Consistent Feedback"
  18022.  
  18023. %p
  18024. Ensure that every input by a user will consistently produce some
  18025. perceptible response output from the computer; when a terminal is in
  18026. use, its display screen should never be blank.
  18027.  
  18028. %p "Exception"
  18029. A user might choose to blank a display screen temporarily, perhaps to
  18030. protect data from casual onlookers, but even then some acknowledging
  18031. message should probably appear, e.g.,
  18032.     | Display temporarily suppressed. |
  18033.  
  18034. %p "Comment"
  18035. Keyed entries should appear immediately on the display.  Function key
  18036. activation or command entries should be acknowledged either by evident
  18037. performance of the requested action, or else by an advisory message
  18038. indicating an action in process or accomplished.  Inputs that are not
  18039. recognized by the computer should be acknowledged by an error message.
  18040.  
  18041. %p "Comment"
  18042. Absence of system response is not an effective means of signaling
  18043. acceptable entry.  At best, a dialogue without feedback will be
  18044. disconcerting to the user, as when we talk to an unresponsive human
  18045. listener.  At worst, the user may suspect system failure, with
  18046. consequent disruption and/or termination of the interaction sequence.
  18047.  
  18048. %p "Reference"
  18049. BB 4.3 4.3.3 5.1
  18050. EG 3.3.2 4.2.5 6.3.7
  18051. MS 5.15.2.1.2 5.15.4.1.12 5.15.4.1.13
  18052. Magers 1983
  18053.  
  18054. %p "See also"
  18055. 1.0/3 1.0/12 1.0/13 3.0/14 3.0/16 3.1.3/9 3.1.4/10 6.2/6
  18056. %g "4.2/2      Fast Response"
  18057.  
  18058. %p
  18059. Ensure that computer response to user entries will be rapid, with
  18060. consistent timing as appropriate for different types of transactions.
  18061.  
  18062. %p "Reference"
  18063. MS 5.15.1.8
  18064. Shneiderman 1984
  18065. Stewart 1980
  18066.  
  18067. %p "See also"
  18068. 1.1/5 2.7.1/6 3.0/18 3.1/2
  18069. %g "4.2/3      Feedback for Control Entries"
  18070.  
  18071. %p
  18072. Provide some indication of transaction status whenever the complete
  18073. response to a user entry will be delayed.
  18074.  
  18075. %p "Comment"
  18076. After making an entry to the computer, the user needs feedback to know
  18077. whether that entry is being processed properly.  Delays in computer
  18078. response longer than a few seconds can be disturbing to the user,
  18079. especially for a transaction that is usually processed immediately.  In
  18080. such a case some intermediate feedback should be provided, perhaps as an
  18081. advisory message that processing has been initiated, and ideally with an
  18082. estimate of how long it will take to complete.
  18083.  
  18084. %p "Comment"
  18085. Indicating the progress of computer processing is particularly important
  18086. when response time is inconsistent and may be lengthy, which is often
  18087. the case when users perform complex functions on time-shared systems.
  18088. Displaying time-to-completion or some other indication of progress will
  18089. permit users to plan their time more effectively, and perhaps to perform
  18090. other tasks while waiting.
  18091.  
  18092. %p "Comment"
  18093. Note that a routine advisory (e.g., | Wait for processing |) displayed
  18094. before every computer response, whether fast or slow, is not an
  18095. effective indication of transaction status.  Users will come to ignore
  18096. routine messages that are sometimes true but sometimes just false
  18097. alarms.
  18098.  
  18099. %p "Reference"
  18100. BB 4.3.1
  18101. EG 4.2.5
  18102. MS 5.15.2.1.3
  18103. Myers 1985
  18104.  
  18105. %p "See also"
  18106. 3.0/14
  18107. %g "4.2/4      +  Indicating Completion of Processing"
  18108.  
  18109. %p
  18110. When computer processing of a user entry has been delayed, inform the
  18111. user when processing is completed, and provide appropriate guidance for
  18112. further user actions.
  18113.  
  18114. %p "Comment"
  18115. For long delays, interim feedback on processing status before completion
  18116. may be reassuring to a user.  Such follow-up messages, however, should
  18117. not interfere with current user activities.  It may be desirable to
  18118. reserve a special display window for prompts and advisory messages.
  18119.  
  18120. %p "Reference"
  18121. BB 4.3.2
  18122. MS 5.15.5.3
  18123.  
  18124. %p "See also"
  18125. 3.0/15
  18126. %g "4.2/5      Feedback for Print Requests"
  18127.  
  18128. %p
  18129. When user requests for printed output will be handled by a remote
  18130. printer, give the user an advisory message confirming that a print
  18131. request is being processed.
  18132.  
  18133. %p "Reference"
  18134. EG 4.2.14
  18135.  
  18136. %p "See also"
  18137. 1.3/29
  18138. %g "4.2/6      Display Identification"
  18139.  
  18140. %p
  18141. Provide a unique identification for each display in a consistent
  18142. location at the top of the display frame.
  18143.  
  18144. %p "Exception"
  18145. As a possible exception, interface designers may sometimes provide
  18146. unlabeled displays as "free-form" screens for text entry and other tasks
  18147. involving display composition by users.
  18148.  
  18149. %p "Comment"
  18150. A displayed title may suffice, although a shorter identification code
  18151. may be helpful for some purposes.  The objective is to help the user
  18152. recognize a display when it appears, to learn interactive sequences
  18153. stepping from one display to another, and (in some system applications)
  18154. to request a particular display directly.  Display identification will
  18155. also help both users and interface designers to refer to individual
  18156. displays in discussion and documentation.
  18157.  
  18158. %p "Comment"
  18159. In applications involving menu selection, it may prove helpful to code
  18160. each display with the string of option selections (letter codes) used to
  18161. reach that display.  This practice is particularly useful in situations
  18162. where a user can learn to by-pass the menu selection sequence by
  18163. entering option string codes as a single command to request a familiar
  18164. data display.
  18165.  
  18166. %p "Reference"
  18167. BB 1.2.3
  18168. MS 5.15.3.1.9
  18169. PR 4.5.2
  18170.  
  18171. %p "See also"
  18172. 2.5/10 2.7.1/2 2.7.1/3 2.7.1/4
  18173. %g "4.2/7      +  Identifying Multipage Displays"
  18174.  
  18175. %p
  18176. When lists or data tables extend beyond the capacity of a single display
  18177. frame, inform the user that the display is continued in multiple frames.
  18178.  
  18179. %p "Example"
  18180. Incomplete lists might be annotated at the bottom as
  18181.                  | Continued on next page |
  18182.  
  18183. %p "Example"
  18184. For extended data tables, the display title might be annotated as
  18185.                  | Page ____ of ____ |
  18186.  
  18187. %p "Example"
  18188. For scrolled data, displays might be annotated with the current and
  18189. concluding locations
  18190.                  | Line ____ of ____ |
  18191.  
  18192. %p "Exception"
  18193. In special formats such as spreadsheets the partial nature of a display
  18194. may be self-evident.
  18195.  
  18196. %p "Comment"
  18197. As a complementary recommendation, it may also be desirable to conclude
  18198. completed lists with the annotation
  18199.                  | End of list |
  18200. unless the list is so short that it obviously does not fill available
  18201. display space.
  18202.  
  18203. %p "Reference"
  18204. BB 1.9.7
  18205. EG 3.4.1
  18206. PR 4.5.5
  18207.  
  18208. %p "See also"
  18209. 2.7.2/5 2.7.2/6
  18210. %g "4.2/8      Indicating Operational Mode"
  18211.  
  18212. %p
  18213. When a user (or computer) action establishes a change in operational
  18214. mode that will affect subsequent user actions, display some continuing
  18215. indication of current mode.
  18216.  
  18217. %p "Example"
  18218. Selection of a DELETE mode in text editing should produce some kind of
  18219. warning signal on the display, perhaps by a distinctive change in cursor
  18220. shape.
  18221.  
  18222. %p "Comment"
  18223. This practice is particularly helpful when the mode selected is one
  18224. seldom used.
  18225.  
  18226. %p "Comment"
  18227. Display of mode selection will help prevent unintended data loss when
  18228. the mode is potentially destructive (e.g., DELETE).  For destructive
  18229. modes, it may help if the mode indication is implemented as some sort of
  18230. distinctive change in the appearance of the cursor, since the cursor is
  18231. probably the one display feature most surely seen by a user.
  18232.  
  18233. %p "Reference"
  18234. BB 4.3.4
  18235. MS 5.15.7.5.a
  18236. Foley Wallace 1974
  18237.  
  18238. %p "See also"
  18239. 3.4/4 3.4/5 4.1/5 4.4/13 6.0/15 6.0/16
  18240. %g "4.2/9      +  Indicating Option Selection"
  18241.  
  18242. %p
  18243. When previously selected options are still operative, display those
  18244. options either automatically or on user request.
  18245.  
  18246. %p "Comment"
  18247. Displaying a cumulative sequence of option selections may help a novice
  18248. user learn transaction sequences, and may help any user deal with
  18249. complex transactions.
  18250.  
  18251. %p "Reference"
  18252. EG 3.4
  18253.  
  18254. %p "See also"
  18255. 4.4/13 4.4/22
  18256. %g "4.2/10     +  Indicating Item Selection"
  18257.  
  18258. %p
  18259. When a user selects a displayed item in order to perform some operation
  18260. on it, highlight that item on the display.
  18261.  
  18262. %p "Comment"
  18263. This practice will provide a routine natural feedback that item
  18264. selection has been accomplished, and will provide a continuing reminder
  18265. to the user of just what selection has been made.
  18266.  
  18267. %p "Comment"
  18268. Highlighting might be accomplished in different ways.  Reverse video is
  18269. commonly employed for this purpose.  For a selection among displayed
  18270. options, the selected option might be brightened.
  18271.  
  18272. %p "Reference"
  18273. EG 2.1.1 3.1 3.1.1
  18274. MS 5.15.5.6
  18275.  
  18276. %p "See also"
  18277. 1.1/5 3.1.3/9 3.4/6
  18278. %g "4.2/11     Feedback for User Interrupt"
  18279.  
  18280. %p
  18281. Following user interrupt of data processing, display an advisory message
  18282. assuring the user that the system has returned to its previous status.
  18283.  
  18284. %p "Reference"
  18285. BB 4.7
  18286.  
  18287. %p "See also"
  18288. 3.3/6
  18289. %a "4.3    Error Feedback"
  18290.  
  18291. %p
  18292. Error feedback should be provided if an error or other unexpected event
  18293. prevents routine processing.
  18294. %g "4.3/1      Informative Error Messages"
  18295.  
  18296. %p
  18297. When the computer detects an entry error, display an error message to
  18298. the user stating what is wrong and what can be done about it.
  18299.  
  18300. %p "Example"
  18301.  (Good) | Code format not recognized; enter two letters, |
  18302.         | then three digits.                             |
  18303.  
  18304.  (Bad)  | Invalid input.                                 |
  18305.  
  18306. %p "Comment"
  18307. Users should not have to search through reference information to
  18308. translate error messages.
  18309.  
  18310. %p "Comment"
  18311. Error messages can be regarded as the most important form of system
  18312. documentation.  Well designed error messages will give help to users
  18313. automatically, at the point where help is most needed.
  18314.  
  18315. %p "Reference"
  18316. BB 5.2.2 5.3.2 5.3.8
  18317. EG 3.3.1
  18318. MS 5.15.5.7 5.15.7.5
  18319. PR 4.12.1
  18320. Dean 1982
  18321. Limanowski 1983
  18322. Magers 1983
  18323. Shneiderman 1982
  18324. %g "4.3/2      +  Specific Error Messages"
  18325.  
  18326. %p
  18327. Make the wording of error messages as specific as possible.
  18328.  
  18329. %p "Example"
  18330.  (Good) | No record for Loan 6342; check number.  |
  18331.  
  18332.  (Bad)  | No record for inquiry.  |
  18333.  
  18334. %p "Comment"
  18335. Specificity will require computer analysis of data processing
  18336. transactions in context.
  18337.  
  18338. %p "Reference"
  18339. BB 5.3.7
  18340. MS 5.15.7.6 5.15.7.8
  18341. PR 4.12.5.1
  18342. %g "4.3/3      +  Task-Oriented Error Messages"
  18343.  
  18344. %p
  18345. Adopt wording for error messages which is appropriate to a user's task.
  18346.  
  18347. %p "Example"
  18348.  (Good) | Contract number not recognized; check |
  18349.         | the file and enter a current number.  |
  18350.  
  18351.  (Bad)  | Entry blocked.  Status Flag 4. |
  18352.  
  18353. %p "Comment"
  18354. Error messages that can be understood only by experienced programmers
  18355. (and interface designers) will have no value for ordinary users.
  18356.  
  18357. %p "Reference"
  18358. BB 5.3.5
  18359. EG 3.3.7
  18360. MS 5.15.7.6
  18361. Shneiderman 1982
  18362.  
  18363. %p "See also"
  18364. 2.0/12 4.0/17
  18365. %g "4.3/4      Advisory Error Messages"
  18366.  
  18367. %p
  18368. If a data entry or (more often) a control entry must be made from a
  18369. small set of alternatives, an error message that is displayed in
  18370. response to a wrong entry should indicate the correct alternatives.
  18371.  
  18372. %p "See also"
  18373. 3.2/5
  18374. %g "4.3/5      Brief Error Messages"
  18375.  
  18376. %p
  18377. Make error messages brief but informative.
  18378.  
  18379. %p "Example"
  18380.  (Good) | Entry must be a number.  |
  18381.  
  18382.  (Bad)  | Alphabetic entries are not acceptable because |
  18383.         | this entry will be processed automatically.   |
  18384.  
  18385. %p "Comment"
  18386. Often a user will recognize that an error has been made, and the message
  18387. will serve merely as a confirming reminder.  In such instances, short
  18388. error messages will be scanned and recognized more quickly.
  18389.  
  18390. %p "Comment"
  18391. For a user who is truly puzzled, and who needs more information than a
  18392. short error message can provide, auxiliary HELP can be provided either
  18393. on-line or by reference to system documentation.
  18394.  
  18395. %p "Comment"
  18396. If an on-line HELP explanation is not available, a user may have to
  18397. refer to system documentation for a coded listing of possible errors.
  18398. Under those circumstances, some designers display each error message
  18399. with an identifying code, to facilitate rapid reference to
  18400. documentation.  That practice might help experienced users, who would
  18401. gradually come to recognize the codes.
  18402.  
  18403. %p "Reference"
  18404. BB 5.3.4
  18405. EG 3.1.3 3.3 3.3.7
  18406. PR 2.2 4.1.2.2
  18407. Shneiderman 1982
  18408.  
  18409. %p "See also"
  18410. 2.1/13 2.1/14 4.4/23
  18411. %g "4.3/6      Neutral Wording for Error Messages"
  18412.  
  18413. %p
  18414. Adopt neutral wording for error messages; do not imply blame to the
  18415. user, or personalize the computer, or attempt to make a message
  18416. humorous.
  18417.  
  18418. %p "Example"
  18419.  (Good) | Entry must be a number.  |
  18420.  (Bad)  | Illegal entry.  |
  18421.  (Bad)  | I need some digits.  |
  18422.  (Bad)  | Don't be dumber, use a number.  |
  18423.  
  18424. %p "Comment"
  18425. Error messages should reflect a consistent view that the computer is a
  18426. tool, with certain limitations that a user must take into account in
  18427. order to make the tool work properly.  If error messages reflect an
  18428. attitude that the computer (or its programmer) imposes rules, or
  18429. establishes "legality", the user may feel resentful.  If error messages
  18430. reflect personalization of the computer, as if it were a friendly
  18431. colleague, a naive user may be misled to expect human abilities the
  18432. machine does not actually possess.  If error messages are worded
  18433. humorously, any joke will surely wear thin with repetition, and come to
  18434. seem an intrusion on a user's concern with efficient task performance.
  18435.  
  18436. %p "Comment"
  18437. The same considerations apply for the wording of computer-generated
  18438. prompts and other instructional material.
  18439.  
  18440. %p "Reference"
  18441. BB 5.5.3
  18442. EG 3.3.8 5.3
  18443. MS 5.15.7.6
  18444. PR 2.2
  18445. %g "4.3/7      Multilevel Error Messages"
  18446.  
  18447. %p
  18448. Following the output of a simple error message, permit users to request
  18449. a more detailed explanation of the error.
  18450.  
  18451. %p "Comment"
  18452. A more complete discussion of each error could be made available
  18453. on-line, perhaps at several levels of increasing detail, supplemented by
  18454. reference to off-line system documentation if necessary.  Successively
  18455. deeper levels of explanation might then be provided in response to
  18456. repeated user requests for HELP.
  18457.  
  18458. %p "Reference"
  18459. BB 1.6 5.4
  18460. EG 3.3
  18461.  
  18462. %p "See also"
  18463. 4.4/28
  18464. %g "4.3/8      Multiple Error Messages"
  18465.  
  18466. %p
  18467. When multiple errors are detected in a combined user entry, notify the
  18468. user, even though complete messages for all errors cannot be displayed
  18469. together.
  18470.  
  18471. %p "Example"
  18472. | DATE should be numeric. |
  18473. | + 2 other errors        |
  18474.  
  18475. %p "Comment"
  18476. The computer should place the cursor in the data field referred to by
  18477. the displayed error message, with other error fields highlighted in some
  18478. way, e.g., by reverse video.  There should also be some means for the
  18479. user to request sequential display of the other error messages if
  18480. needed.
  18481.  
  18482. %p "Reference"
  18483. BB 5.2.3
  18484. PR 4.12.3
  18485. %g "4.3/9      +  Indicating Repeated Errors"
  18486.  
  18487. %p
  18488. If a user repeats an entry error, there should be some noticeable change
  18489. in the displayed error message.
  18490.  
  18491. %p "Example"
  18492. A simple expedient might be to display the same verbal message but with
  18493. changing annotation, perhaps marked with either one asterisk or two.
  18494.  
  18495. %p "Comment"
  18496. If an error message is repeated identically, so that displayed feedback
  18497. seems unchanged, the user may be uncertain whether the computer has
  18498. processed the revised entry.
  18499. %g "4.3/10     Non-Disruptive Error Messages"
  18500.  
  18501. %p
  18502. The computer should display an error message only after a user has
  18503. completed an entry.
  18504.  
  18505. %p "Example"
  18506. An error message should not be generated as wrong data are keyed, but
  18507. only after an explicit ENTER action has been taken.
  18508.  
  18509. %p "Comment"
  18510. In general, the display of error messages should be timed so as to
  18511. minimize disruption of the user's thought process and task performance.
  18512.  
  18513. %p "Reference"
  18514. EG 7.1
  18515.  
  18516. %p "See also"
  18517. 1.7/3 1.7/7
  18518. %g "4.3/11     Appropriate Response Time for Error Messages"
  18519.  
  18520. %p
  18521. Display an error message approximately 2-4 seconds after the user entry
  18522. in which the error is detected.
  18523.  
  18524. %p "Exception"
  18525. For type-ahead systems with experienced users, error messages should be
  18526. displayed as quickly as possible.
  18527.  
  18528. %p "Comment"
  18529. Longer delays in error feedback may cause user uncertainty or confusion.
  18530. Longer delays may also cause frustration if the user is already aware of
  18531. the error, which is often the case.
  18532.  
  18533. %p "Comment"
  18534. Shorter delays in error feedback can pose problems of a different sort.
  18535. An error message following immediately upon a user entry can be
  18536. disconcerting.  Immediate error feedback can also be irritating.  User
  18537. expectations are conditioned by human conversation, where an immediate
  18538. contradiction is considered rude, and where a polite listener will pause
  18539. for a few moments before saying that you are wrong.
  18540.  
  18541. %p "Comment"
  18542. If error messages take somewhat longer to appear than the routine
  18543. computer response, then that additional delay may cue the user to expect
  18544. an error message and pay attention to it.
  18545.  
  18546. %p "Reference"
  18547. EG Table 2
  18548.  
  18549. %p "See also"
  18550. 3.0/18
  18551. %g "4.3/12     Documenting Error Messages"
  18552.  
  18553. %p
  18554. As a supplement to on-line guidance, include in the system documentation
  18555. a listing and explanation of all error messages.
  18556.  
  18557. %p "Comment"
  18558. Developing good error messages may require review by both designers and
  18559. users.  Documentation of the complete set of error messages will
  18560. facilitate such review.
  18561.  
  18562. %p "Comment"
  18563. Documentation of error messages will permit users to reference
  18564. particular messages for fuller explanation, and to review all messages
  18565. as a means of understanding data processing requirements and
  18566. limitations.
  18567.  
  18568. %p "Reference"
  18569. BB 5.3.1 5.4 5.8
  18570. %g "4.3/13     Cursor Placement Following Error"
  18571.  
  18572. %p
  18573. In addition to providing an error message, mark the location of a
  18574. detected error by positioning the cursor at that point on the display,
  18575. i.e., at that data field or command word.
  18576.  
  18577. %p "Comment"
  18578. Displaying the cursor at a non-routine position will help emphasize that
  18579. an error has occurred, and direct the user's attention to the faulty
  18580. entry.
  18581.  
  18582. %p "Reference"
  18583. BB 5.2.5
  18584. PR 4.12.1
  18585.  
  18586. %p "See also"
  18587. 4.4/16
  18588. %g "4.3/14     Displaying Erroneous Entries"
  18589.  
  18590. %p
  18591. When an entry error has been detected, continue to display the erroneous
  18592. entry, as well as an error message, until corrections are made.
  18593.  
  18594. %p "Comment"
  18595. The error itself may provide useful information, in conjunction with the
  18596. error message, helping a user understand the specific nature of the
  18597. error.
  18598. %g "4.3/15     User Editing of Entry Errors"
  18599.  
  18600. %p
  18601. Following error detection, require the user to re-enter only that
  18602. portion of a data/command entry which is not correct.
  18603.  
  18604. %p "Comment"
  18605. The user should not have to rekey an entire command string or data set
  18606. just to correct one wrong item.
  18607.  
  18608. %p "Reference"
  18609. BB 5.2.1
  18610. EG 4.2.3
  18611. MS 5.15.7.1
  18612.  
  18613. %p "See also"
  18614. 3.1.5/23 3.5/3 6.0/10 6.3/10
  18615. %g "4.3/16     Removing Error Messages"
  18616.  
  18617. %p
  18618. Ensure that a displayed error message is removed after the error has
  18619. been corrected; do not continue to display a message that is no longer
  18620. applicable.
  18621.  
  18622. %p "Comment"
  18623. The immediate removal of an error message upon error correction will
  18624. serve as feedback to a user that the corrected entry is indeed correct.
  18625.  
  18626. %p "Reference"
  18627. BB 5.2.6
  18628. %g "4.3/17     Cautionary Messages"
  18629.  
  18630. %p
  18631. When a data or command entry seems doubtful, in terms of defined
  18632. validation logic, display a cautionary message asking the user to
  18633. confirm that entry.
  18634.  
  18635. %p "Example"
  18636. | Blood pH of 6.6 is outside the normal range; |
  18637. | confirm or change entry.                     |
  18638.  
  18639. %p "Comment"
  18640. Feedback to the user can be worded to deal with a range of intermediate
  18641. categories between a seemingly correct entry and an outright error.
  18642.  
  18643. %p "Reference"
  18644. MS 5.15.7.2
  18645.  
  18646. %p "See also"
  18647. 3.5/8 3.5/11
  18648. %g "4.3/18     User Confirmation of Destructive Entries"
  18649.  
  18650. %p
  18651. Require the user to take some explicit action to confirm a potentially
  18652. destructive data/command entry before the computer will execute it.
  18653.  
  18654. %p "Comment"
  18655. A requirement to take an explicit CONFIRM action will direct user
  18656. attention to questionable entries and help the user avoid the
  18657. consequences of thoughtless errors.
  18658.  
  18659. %p "Comment"
  18660. What constitutes "potentially destructive" requires definition in the
  18661. context of each system application.
  18662.  
  18663. %p "Reference"
  18664. BB 5.6
  18665. EG 4.2.8
  18666. Foley Wallace 1974
  18667.  
  18668. %p "See also"
  18669. 3.5/7 6.0/18 6.0/20 6.3/19
  18670. %g "4.3/19     Alarm Coding"
  18671.  
  18672. %p
  18673. For conditions requiring (or implying the need for) special user
  18674. attention, code the alarms (or warning messages) distinctively.
  18675.  
  18676. %p "Example"
  18677. Alarm messages might be marked with a blinking symbol and/or displayed
  18678. in red, and be accompanied by an auditory signal; warnings and error
  18679. messages might be marked with a different special symbol and/or
  18680. displayed in yellow.
  18681.  
  18682. %p "Comment"
  18683. This practice will help ensure appropriate attention, even when a user
  18684. is busy at routine tasks.
  18685.  
  18686. %p "Reference"
  18687. BB 1.1.2 7.7.2 7.7.3
  18688. EG 2.1.3
  18689. MS 5.15.3.3.2
  18690.  
  18691. %p "See also"
  18692. 2.6/12 2.6/32 2.6/35 2.6/40 3.6/2 6.0/17
  18693. %a "4.4    Job Aids"
  18694.  
  18695. %p
  18696. Job aids should provide users with specific task-oriented guidance for
  18697. every transaction.
  18698. %g "4.4/1      Guidance Information Always Available"
  18699.  
  18700. %p
  18701. Ensure that specific user guidance information is available for display
  18702. at any point in a transaction sequence.
  18703.  
  18704. %p "Comment"
  18705. Do not require a user to remember information not currently displayed.
  18706. The user should not have to remember what actions are available, or what
  18707. action to take next.  Human memory is unreliable, and without guidance
  18708. users can be expected to make errors.
  18709.  
  18710. %p "Reference"
  18711. BB 4.3.6
  18712. EG 3.4.4
  18713. MS 5.15.4.1.7
  18714.  
  18715. %p "See also"
  18716. 2.0/3 2.7.2/1 3.1.3/17 3.1.3/18 3.2/4 3.2/5
  18717. %g "4.4/2      General List of Control Options"
  18718.  
  18719. %p
  18720. Provide a general list (menu) of control options that is always
  18721. available to serve as a "home base" or consistent starting point to
  18722. begin a transaction sequence.
  18723.  
  18724. %p "Reference"
  18725. BB 4.1 4.4.5
  18726.  
  18727. %p "See also"
  18728. 3.1.5/12 3.2/2 3.2/3
  18729. %g "4.4/3      Logical Menu Structure"
  18730.  
  18731. %p
  18732. Display menu options in logical groups.
  18733.  
  18734. %p "Comment"
  18735. Logical grouping of menu options will aid user learning and selection
  18736. among displayed alternatives.  It may be necessary to test proposed
  18737. menus to determine just what structural groupings will seem logical to
  18738. their intended users.
  18739.  
  18740. %p "See also"
  18741. 2.1/23 3.1.3/22 3.2/3
  18742. %g "4.4/4      Hierarchic Menus"
  18743.  
  18744. %p
  18745. When hierarchic menus are used, organize and label them to guide users
  18746. within the hierarchic structure.
  18747.  
  18748. %p "Comment"
  18749. Users will learn menus more quickly if a map of the menu structure is
  18750. provided as HELP.
  18751.  
  18752. %p "Reference"
  18753. Billingsley 1982
  18754.  
  18755. %p "See also"
  18756. 3.1.3/24 3.1.3/25 3.1.3/30
  18757. %g "4.4/5      Guidance for Sequence Control"
  18758.  
  18759. %p
  18760. At every point in a transaction sequence, provide guidance telling the
  18761. user how to continue.
  18762.  
  18763. %p "Example"
  18764.  (Good)  | Data are current through March 1986. |
  18765.          | Press STEP key to continue.          |
  18766.  
  18767.  (Bad)   | Data are current through March 1986. |
  18768.  
  18769. %p "Reference"
  18770. BB 4.2
  18771. EG 3.1.2
  18772. PR 2.2
  18773.  
  18774. %p "See also"
  18775. 3.0/4 3.1.3/16 3.2/12
  18776. %g "4.4/6      +  Transaction-Specific Option Display"
  18777.  
  18778. %p
  18779. If there are control options that are specifically appropriate to the
  18780. current transaction, indicate those options on the display.
  18781.  
  18782. %p "Exception"
  18783. Treat control options that are generally available at every step in a
  18784. transaction sequence (PRINT, perhaps) as implicit options that need not
  18785. be included in a display of specific current options.
  18786.  
  18787. %p "Comment"
  18788. Usually space can be found on a working display to remind users of
  18789. several specific control options that are appropriate to the current
  18790. transaction.  A list of all available options, however, may well exceed
  18791. display capacity.  A user may be expected to remember general options,
  18792. once they have been learned, without their specific inclusion in a
  18793. display of guidance information.  Perhaps the best design approach is to
  18794. implement general options on appropriately labeled function keys, which
  18795. will aid user learning and provide a continuing reminder of their
  18796. availability.
  18797. %g "4.4/7      Prompting Entries"
  18798.  
  18799. %p
  18800. Provide advisory messages and other prompts to guide users in entering
  18801. required data and/or control parameters.
  18802.  
  18803. %p "Comment"
  18804. Prompting in advance of data/control entry will help reduce errors,
  18805. particularly for inexperienced users.  Prompting might be provided as an
  18806. optional feature for skilled users.
  18807.  
  18808. %p "Comment"
  18809. If a default value has been defined for null entry, that value should be
  18810. included in the prompting information.
  18811.  
  18812. %p "Reference"
  18813. EG 4.2.2 4.2.4
  18814. MS 5.15.4.1.4 5.15.7.5
  18815. PR 4.9.2
  18816. Foley Wallace 1974
  18817.  
  18818. %p "See also"
  18819. 1.0/24 1.8/4 3.1.5/11 3.2/11 3.5/5
  18820. %g "4.4/8      +  Standard Display Location for Prompting"
  18821.  
  18822. %p
  18823. Display prompts for data/command entry in a standard location, next to
  18824. the command entry area at the bottom of the display.
  18825.  
  18826. %p "Comment"
  18827. As an alternative, prompts might be provided in a window overlay added
  18828. to a working display at user request.
  18829.  
  18830. %p "See also"
  18831. 4.0/6 2.7.5
  18832. %g "4.4/9      +  Consistent Format for Prompts"
  18833.  
  18834. %p
  18835. Use consistent phrasing and punctuation in all prompts.
  18836.  
  18837. %p "Example"
  18838.  (Good)  | Save as new file or Overwrite old file (S/O): |
  18839.  
  18840.          and   | Create new file or Edit old file (C/E): |
  18841.  
  18842.  (Bad)   | (S)ave as new file or (O)verwrite old  file:  |
  18843.  
  18844.          and   | Would you like to create a new   |
  18845.                | file or edit an old file (C/E):  |
  18846.  
  18847. %p "Reference"
  18848. Pakin Wray 1982
  18849. %g "4.4/10     +  Standard Symbol for Prompting Entry"
  18850.  
  18851. %p
  18852. Choose a standard symbol for prompts indicating that an entry is
  18853. required, and reserve that symbol only for that purpose.
  18854.  
  18855. %p "Example"
  18856.  (Good)  | Enter completion code:  |
  18857.  
  18858.  (Bad)   | Enter completion code   |
  18859.  
  18860. %p "Comment"
  18861. Some standard prompting symbol in data entry forms, in menus, in command
  18862. entry lines, etc., will help to cue users that an input is required.
  18863. That standard symbol, used along with other formatting cues, will help
  18864. to alert a user to differences between advisory messages and messages
  18865. requiring an input.
  18866.  
  18867. %p "Reference"
  18868. BB 2.5.2
  18869.  
  18870. %p "See also"
  18871. 1.4/9 3.1.3/15
  18872. %g "4.4/11     +  Concise Wording of Prompts"
  18873.  
  18874. %p
  18875. Use concise wording for prompts; eliminate extraneous words.
  18876.  
  18877. %p "Example"
  18878.  (Good)  | Delete what:  |
  18879.  
  18880.  (Bad)   | What text would you like to delete:  |
  18881.  
  18882. %p "Reference"
  18883. Pakin Wray 1982
  18884. %g "4.4/12     +  User-Requested Prompts"
  18885.  
  18886. %p
  18887. When users vary in experience, which is often the case, provide
  18888. prompting as an optional guidance feature that can be selected by novice
  18889. users but can be omitted by experienced users.
  18890.  
  18891. %p "Comment"
  18892. Flexibility in prompting can also be provided by multilevel HELP
  18893. options, so that additional guidance information can be obtained if the
  18894. simple prompt is not adequate.
  18895.  
  18896. %p "See also"
  18897. 3.1.5/11 3.1.5/13 4.4/28
  18898. %g "4.4/13     Displayed Context"
  18899.  
  18900. %p
  18901. When the results of a user entry depend upon context established by
  18902. previous entries, display some indication of that context to the user.
  18903.  
  18904. %p "Example"
  18905. When the effects of user entries are contingent upon different
  18906. operational modes, indicate the current mode.
  18907.  
  18908. %p "Example"
  18909. If the user is editing a data file, display both the file name and an
  18910. indication of EDIT mode.
  18911.  
  18912. %p "Reference"
  18913. EG 4.2.1
  18914. MS 5.15.4.1.5 5.15.7.5
  18915.  
  18916. %p "See also"
  18917. 2.7.3/6 2.7.3/7 3.0/9 3.1.4/5 3.1.4/11 3.4/1 3.4/4 3.4/5 4.1/5 4.2/8
  18918. %g "4.4/14     +  Maintaining Context for Data Entry"
  18919.  
  18920. %p
  18921. In a transaction involving extended data entry, display a cumulative
  18922. record of any previous inputs that are relevant to the current input.
  18923.  
  18924. %p "Example"
  18925. In a multipage data entry display, do not rely on the user to remember
  18926. data accurately from one page to the next.
  18927. %g "4.4/15     Cues for Prompting Data Entry"
  18928.  
  18929. %p
  18930. Provide cues for data entry by formatting data fields consistently and
  18931. distinctively.
  18932.  
  18933. %p "Example"
  18934. A colon might be used consistently to indicate that an entry can be
  18935. made, followed by an underscored data field to indicate item size, such
  18936. as
  18937.  
  18938.            | Enter part code:  __ __ __-__ __ |
  18939.  
  18940. or perhaps just simply
  18941.  
  18942.            | Part code:  __ __ __-__ __ |
  18943.  
  18944. %p "Comment"
  18945. Consistent use of prompting cues can sometimes provide sufficient
  18946. guidance to eliminate the need for more explicit advisory messages.
  18947.  
  18948. %p "Reference"
  18949. BB 2.1.5
  18950. EG 6.3.1
  18951.  
  18952. %p "See also"
  18953. 1.4/10 1.4/11 1.4/12 1.4/18
  18954. %g "4.4/16     Consistent Cursor Positioning"
  18955.  
  18956. %p
  18957. As the last step in generating a display output, ensure that the
  18958. computer will automatically position the cursor so that it appears in a
  18959. consistent display location for each type of transaction.
  18960.  
  18961. %p "Example"
  18962. For data entry displays, the cursor should be placed initially at the
  18963. first data field, or else at the first wrong entry if an error has been
  18964. detected; in other displays, the cursor might be placed at a consistent
  18965. HOME position, or at the first control option for menu selection, or
  18966. else in a general command entry area, depending upon the type of
  18967. display.
  18968.  
  18969. %p "Comment"
  18970. Consistent cursor positioning will provide an implicit cue for user
  18971. guidance.
  18972.  
  18973. %p "Reference"
  18974. EG 4.2.3
  18975. MS 5.15.2.1.8.3
  18976. PR 3.3.3
  18977.  
  18978. %p "See also"
  18979. 1.1/20 1.1/21 1.4/28 3.2/6 3.2/7 4.3/13
  18980. %g "4.4/17     On-Line System Guidance"
  18981.  
  18982. %p
  18983. Provide reference material describing system capabilities and procedures
  18984. available to users for on-line display.
  18985.  
  18986. %p "Comment"
  18987. Many systems are not utilized effectively because users do not fully
  18988. understand system capabilities.  On-line access to a description of
  18989. system structure, components and options will aid user understanding.
  18990.  
  18991. %p "Comment"
  18992. On-line guidance can supplement or in some instances substitute for
  18993. off-line training.  An investment in designing user aids may be repaid
  18994. by reduced costs of formal training as well as by improved operational
  18995. performance.
  18996.  
  18997. %p "Reference"
  18998. BB 6.1 6.2
  18999. Limanowski 1983
  19000. Shneiderman 1982
  19001. %g "4.4/18     +  Index of Data"
  19002.  
  19003. %p
  19004. In applications where the user can choose what stored data to display,
  19005. provide an on-line data index to guide user selection.
  19006.  
  19007. %p "Comment"
  19008. The data index should indicate file names, objects, properties, and
  19009. other aspects of file structure that might be used to access different
  19010. categories of data.  It may help to allow users to specify what they
  19011. require in this index.  Some users might wish information on file size,
  19012. currency (time of latest update), etc.  Other users might wish to add a
  19013. short description of each data file to remind themselves of its
  19014. contents.
  19015.  
  19016. %p "Reference"
  19017. BB 6.2
  19018.  
  19019. %p "See also"
  19020. 3.1.6/3
  19021. %g "4.4/19     +  Index of Commands"
  19022.  
  19023. %p
  19024. In applications where a user can employ command entry, provide an
  19025. on-line command index to guide user selection and composition of
  19026. commands.
  19027.  
  19028. %p "Comment"
  19029. Such a command index may help a user to phrase a particular command, and
  19030. will also be generally helpful as a reference for discovering related
  19031. commands and learning the overall command language.
  19032.  
  19033. %p "Reference"
  19034. BB 6.2 6.3
  19035. Magers 1983
  19036. %g "4.4/20     +  Dictionary of Abbreviations"
  19037.  
  19038. %p
  19039. Provide a complete dictionary of abbreviations used for data entry, data
  19040. display, and command entry, both for on-line user reference and in
  19041. design documentation.
  19042.  
  19043. %p "Comment"
  19044. In applications where users can create their own abbreviations, as in
  19045. the naming of command "macros", it will be helpful to provide aids for
  19046. users to create their own individual on-line dictionaries.
  19047.  
  19048. %p "Reference"
  19049. BB 6.5
  19050. MS 5.15.6.5
  19051.  
  19052. %p "See also"
  19053. 2.0/21
  19054. %g "4.4/21     Definition of Display Codes"
  19055.  
  19056. %p
  19057. When codes are assigned special meaning in a particular display, include
  19058. a definition of those codes in the display.
  19059.  
  19060. %p "Comment"
  19061. This practice will aid user assimilation of information, especially for
  19062. display codes that are not already familiar.
  19063.  
  19064. %p "Reference"
  19065. BB 7.6.1
  19066.  
  19067. %p "See also"
  19068. 2.6/6
  19069. %g "4.4/22     Record of Past Transactions"
  19070.  
  19071. %p
  19072. Allow users to request a displayed record of past transactions in order
  19073. to review prior actions.
  19074.  
  19075. %p "Reference"
  19076. EG 4.2.7
  19077.  
  19078. %p "See also"
  19079. 3.4/3 4.5/3
  19080. %g "4.4/23     HELP"
  19081.  
  19082. %p
  19083. In addition to explicit aids (labels, prompts, advisory messages) and
  19084. implicit aids (cueing), permit users to obtain further on-line guidance
  19085. by requesting HELP.
  19086.  
  19087. %p "Comment"
  19088. It is difficult for an interface designer to anticipate the degree of
  19089. prompting that may be required to guide all users.  Moreover, even when
  19090. prompting needs are known, it may be difficult to fit all needed
  19091. guidance information on a display page.  One possibility would be to
  19092. provide user guidance in a window overlay added to a working display
  19093. when a user requests HELP.  If more extensive user guidance is needed,
  19094. then a separate, full-screen HELP display might be provided.
  19095.  
  19096. %p "Reference"
  19097. BB 4.4.3 6.3
  19098. MS 5.15.7.5
  19099. PR 3.3.15
  19100.  
  19101. %p "See also"
  19102. 2.7.5
  19103. %g "4.4/24     +  Standard Action to Request HELP"
  19104.  
  19105. %p
  19106. Provide a simple, standard action that is always available to request
  19107. HELP.
  19108.  
  19109. %p "Example"
  19110. HELP might be requested by an appropriately labeled function key, or
  19111. perhaps by keying a question mark into a displayed entry area.
  19112.  
  19113. %p "Comment"
  19114. A user should be able to request HELP at any point in a transaction
  19115. sequence.  The procedure should always be the same, whether the user
  19116. wants an explanation of a particular data entry, a displayed data item,
  19117. or a command option.
  19118.  
  19119. %p "Reference"
  19120. BB 4.4.3
  19121. Keister Gallaway 1983
  19122. %g "4.4/25     +  Task-Oriented HELP"
  19123.  
  19124. %p
  19125. Tailor the response to a HELP request to task context and the current
  19126. transaction.
  19127.  
  19128. %p "Example"
  19129. If a data entry error has just been made, HELP should display
  19130. information concerning entry requirements for that particular data item.
  19131.  
  19132. %p "Example"
  19133. If an error in command entry has just been made, HELP should display
  19134. information concerning that command, its function, its proper structure
  19135. and wording, required and optional parameters, etc.
  19136.  
  19137. %p "Reference"
  19138. BB 6.3
  19139. Magers 1983
  19140. %g "4.4/26     +  Clarifying HELP Requests"
  19141.  
  19142. %p
  19143. When a request for HELP is ambiguous in context, the computer should
  19144. initiate a dialogue in which the user can specify what data, message or
  19145. command requires explanation.
  19146.  
  19147. %p "Example"
  19148. The computer might ask a user to point at a displayed item about which
  19149. HELP is requested.
  19150. %g "4.4/27     +  Synonyms for Standard Terminology"
  19151.  
  19152. %p
  19153. When a user requests HELP on a particular topic, the computer should
  19154. accept synonyms for standard system terminology.
  19155.  
  19156. %p "Example"
  19157. If a DELETE command exists, then an explanation of that command might be
  19158. displayed when a user requests HELP for ERASE.
  19159.  
  19160. %p "Comment"
  19161. Users will often attempt to get HELP for a function they know exists,
  19162. but cannot remember its correct name.
  19163.  
  19164. %p "Comment"
  19165. Likely synonyms can be identified by compiling a list of function names
  19166. used in other similar systems.  Other synonyms can be discovered through
  19167. user testing.  It might be desirable to let HELP facilities grow to meet
  19168. user needs by allowing a system administrator to add synonyms to the
  19169. system.
  19170. %g "4.4/28     +  Multilevel HELP"
  19171.  
  19172. %p
  19173. When an initial HELP display provides only summary information, provide
  19174. more detailed explanations in response to repeated user requests for
  19175. HELP.
  19176.  
  19177. %p "Comment"
  19178. It is necessarily a matter of judgment just what information should be
  19179. provided in response to a HELP request.  Designing the HELP function to
  19180. provide different levels of increasing detail permits users to exercise
  19181. some judgment themselves as to just how much information they want.
  19182.  
  19183. %p "Reference"
  19184. BB 5.4 6.3
  19185.  
  19186. %p "See also"
  19187. 4.3/7
  19188. %g "4.4/29     +  Browsing HELP"
  19189.  
  19190. %p
  19191. Permit users to browse through on-line HELP displays, just as they would
  19192. through a printed manual, to gain familiarity with system functions and
  19193. operating procedures.
  19194.  
  19195. %p "Reference"
  19196. Cohill Williges 1985
  19197. %g "4.4/30     On-Line Training"
  19198.  
  19199. %p
  19200. Where appropriate, provide an on-line training capability to introduce
  19201. new users to system capabilities and to permit simulated "hands on"
  19202. experience in data handling tasks.
  19203.  
  19204. %p "Comment"
  19205. On-line simulation, using the same hardware, user interface software and
  19206. data processing logic as for the real job, can prove an efficient means
  19207. of user training.  Care must be taken, however, to separate the
  19208. processing of simulated data from actual system operations.
  19209.  
  19210. %p "Reference"
  19211. BB 6.4
  19212. Shneiderman 1982
  19213.  
  19214. %p "See also"
  19215. 6.0/6 6.3/21
  19216. %g "4.4/31     +  Flexible Training"
  19217.  
  19218. %p
  19219. Anticipate the needs of different users, and offer different levels of
  19220. training for on-line job support.
  19221.  
  19222. %p "Example"
  19223. In systems supporting different user jobs, on-line instruction might
  19224. describe the procedures for each different data handling task.
  19225.  
  19226. %p "Example"
  19227. Instruction on keyboard use and lightpen selection of menu options might
  19228. be provided for novice users, while a tutorial on command language might
  19229. be provided for more experienced users.
  19230.  
  19231. %p "See also"
  19232. 3.0/3 3.1/1 3.1.3/35 3.1.5/4 4.0/24
  19233. %g "4.4/32     +  Adaptive Training"
  19234.  
  19235. %p
  19236. In applications where a user must learn complex tasks, design
  19237. computer-mediated training to adapt automatically to current user
  19238. abilities.
  19239.  
  19240. %p "Comment"
  19241. Adaptive training will require some means for computer assessment of
  19242. appropriate components of user performance.
  19243.  
  19244. %p "See also"
  19245. 4.0/24 4.5/1
  19246. %a "4.5    User Records"
  19247.  
  19248. %p
  19249. User records will permit assessment of performance and improvement of
  19250. user interface design.
  19251. %g "4.5/1      User Performance Measurement"
  19252.  
  19253. %p
  19254. In applications where skilled user performance is critical to system
  19255. operation, provide automatic computer recording and assessment of
  19256. appropriate user abilities.
  19257.  
  19258. %p "Comment"
  19259. Recording individual performance may be constrained by other
  19260. considerations, as noted elsewhere in this section.
  19261.  
  19262. %p "See also"
  19263. 4.4/32
  19264. %g "4.5/2      Notifying Users"
  19265.  
  19266. %p
  19267. Inform users of any records kept of individual performance.
  19268.  
  19269. %p "Comment"
  19270. Informing users concerning the nature and purpose of performance records
  19271. is required by ethical principle, and in some situations may be required
  19272. by law.
  19273.  
  19274. %p "Comment"
  19275. Recording individual performance is potentially subject to abuse, and
  19276. requires careful scrutiny to ensure essential protection of user
  19277. privacy.  Designers must conform to whatever legal (or otherwise agreed)
  19278. restrictions may be imposed in this regard.
  19279. %g "4.5/3      Transaction Records"
  19280.  
  19281. %p
  19282. Ensure that the computer can maintain records of user transactions.
  19283.  
  19284. %p "Comment"
  19285. Record keeping might include duration, sequencing and frequency of
  19286. different transactions.  Such transaction records will aid task
  19287. analysis, particularly in developing systems where data handling
  19288. requirements are not yet fully defined.
  19289.  
  19290. %p "Comment"
  19291. A buffered store of current transactions may be required for user
  19292. guidance, and for other purposes such as supporting an UNDO capability.
  19293.  
  19294. %p "Comment"
  19295. In some applications, transaction recording might be made optional,
  19296. under control of a system administrator.
  19297.  
  19298. %p "See also"
  19299. 4.4/22
  19300. %g "4.5/4      Data Access Records"
  19301.  
  19302. %p
  19303. Ensure that the computer can maintain records of data access, i.e.,
  19304. which data files, categories, or items have been called out for display.
  19305.  
  19306. %p "Comment"
  19307. Records of data use may help software designers improve file structure,
  19308. reduce data access time, and manage multiple use of shared data files.
  19309.  
  19310. %p "Comment"
  19311. Data access records may also be required for purposes of data
  19312. protection/security.
  19313.  
  19314. %p "See also"
  19315. 6.2/8
  19316. %g "4.5/5      Records of Program Use"
  19317.  
  19318. %p
  19319. Ensure that the computer can maintain records of use for different
  19320. portions of application software.
  19321.  
  19322. %p "Comment"
  19323. In some cases "program calls" can be derived from transaction records
  19324. rather than having to be measured directly.
  19325.  
  19326. %p "Comment"
  19327. Records of software use may not affect user interface design directly,
  19328. but can help detect and correct programming inefficiencies and improve
  19329. system response, particularly during early stages of system development.
  19330. %g "4.5/6      Error Records"
  19331.  
  19332. %p
  19333. Provide a capability for recording user errors.
  19334.  
  19335. %p "Comment"
  19336. Error recording might be done continuously, or by periodic sampling
  19337. under the control of a system administrator.
  19338.  
  19339. %p "Comment"
  19340. Error records can be used to indicate supplemental instruction needed by
  19341. different users, if individual user errors are identified.  In that
  19342. case, ethical considerations (and in some instances legal
  19343. considerations) dictate that users be informed that such records will be
  19344. kept.
  19345.  
  19346. %p "Comment"
  19347. Error records can be used to indicate whether particular transactions
  19348. are giving trouble to many users, in which case design improvements to
  19349. the user interface may be needed, including changes to user guidance.
  19350.  
  19351. %p "Comment"
  19352. For an individual user, the computer might be programmed to generate a
  19353. special on-line HELP sequence to guide the correction of repeated
  19354. errors.
  19355.  
  19356. %p "Reference"
  19357. BB 5.7
  19358.  
  19359. %p "See also"
  19360. 4.5/2 4.6/1
  19361. %g "4.5/7      HELP Records"
  19362.  
  19363. %p
  19364. Provide a capability for recording user requests for HELP.
  19365.  
  19366. %p "Exception"
  19367. There is probably no need to record user browsing of HELP information,
  19368. if such a capability is provided.
  19369.  
  19370. %p "Comment"
  19371. HELP records can be used to detect deficiencies in in early system
  19372. development, and can be used to improve user guidance in later system
  19373. operation.  In effect, user requests for HELP might be regarded as a
  19374. possible symptom of poor interface design.  If HELP requests are
  19375. frequent for a particular transaction, then some design improvement may
  19376. be needed, in procedures, or prompting for user guidance, or both.
  19377.  
  19378. %p "See also"
  19379. 4.4/23 4.4/29
  19380. %a "4.6    Design Change"
  19381.  
  19382. %p
  19383. Design change of software supporting user guidance functions may be
  19384. needed to meet changing operational requirements.
  19385. %g "4.6/1      Flexible Design for User Guidance"
  19386.  
  19387. %p
  19388. When user guidance requirements may change, which is often the case,
  19389. provide some means for users (or a system administrator) to make
  19390. necessary changes to user guidance functions.
  19391.  
  19392. %p "Comment"
  19393. User guidance functions that may need to be changed include those
  19394. represented in these guidelines, namely, changes in status information,
  19395. routine and error feedback, job aids, and user records.
  19396.  
  19397. %p "Comment"
  19398. Many of the preceding guidelines in this section imply a need for design
  19399. flexibility.  Much of that needed flexibility can be provided in initial
  19400. interface design.  Some guidelines, however, suggest a possible need for
  19401. subsequent design change, and those guidelines are cited below.
  19402.  
  19403. %p "Comment"
  19404. In some applications, it may prove helpful to allow individual users to
  19405. reword and/or add their own notes to on-line guidance material, just as
  19406. they might annotate paper documentation.
  19407.  
  19408. %p "Reference"
  19409. Limanowski 1983
  19410.  
  19411. %p "See also"
  19412. 4.3/12 4.4/3 4.4/20 4.4/27 4.5/3 4.5/4 4.5/5 4.5/6 4.5/7
  19413. %g "4.6/2      Notifying Users of Design Changes"
  19414.  
  19415. %p
  19416. When changes are made to interface design, including changes to user
  19417. guidance functions and on-line documentation, inform users of those
  19418. changes.
  19419.  
  19420. %p "Comment"
  19421. An on-line "message board" appearing at LOG-ON may suffice to notify
  19422. users of current changes.  But more extensive measures may be needed,
  19423. including corresponding changes to user guidance information, e.g.,
  19424. prompts, error messages, HELP displays, etc.
  19425.  
  19426. %p "Reference"
  19427. Limanowski 1983
  19428. %s "5 DATA TRANSMISSION"
  19429.  
  19430. %p
  19431. Data transmission refers to computer-mediated communication among system
  19432. users, and also with other systems.  Preceding sections of this report
  19433. have dealt with the basic functions of using on-line information systems
  19434. -- entering data into a computer, displaying data from a computer,
  19435. controlling the sequence of input-output transactions, with guidance for
  19436. users throughout the process.  What other functions can a computer
  19437. serve?  One area that increasingly demands our attention is the use of
  19438. computers for communication, i.e., to mediate the transmission of data
  19439. from one person to another.
  19440.  
  19441. %p
  19442. In considering data transmission functions, we must adopt a broad
  19443. perspective.  Data that are transmitted via computer may include words
  19444. and pictures as well as numbers.  And the procedures for data
  19445. transmission may take somewhat different forms for different system
  19446. applications.
  19447.  
  19448. %p
  19449. Data might be transmitted by transferring a data file from one user to
  19450. another, perhaps with an accompanying message to indicate that such a
  19451. file transfer has been initiated.  Data might be transmitted by directly
  19452. linking two display terminals, so that whatever data one user keys onto
  19453. a display will be displayed to another user as well.  More commonly,
  19454. however, data are transmitted as "messages", which involves creation of
  19455. a specially-formatted file with a formal header to specify the sender,
  19456. recipient, addresses, etc.  In these guidelines, the word "message" is
  19457. mostly used in this sense, to denote data transmitted with a formal
  19458. header.  But the phrase "message handling" sometimes refers more
  19459. generally to user participation in data transmission.
  19460.  
  19461. %p
  19462. In a designed information system, data transmission by file transfer may
  19463. be largely automatic, accomplished with little user involvement.  Data
  19464. transmission by direct linking would presumably be rare, and achieved
  19465. only under operational constraints, as when a supervisor links to a
  19466. subordinate's terminal for reviewing and directing work.  Thus most of
  19467. the guidelines here pertain to data transmission accomplished via
  19468. formatted messages.
  19469.  
  19470. %p
  19471. In some applications, computer-mediated data transmission may be a
  19472. discrete, task-defined activity.  Perhaps a system used for
  19473. planning/scheduling is later used to generate and transmit orders to
  19474. implement a plan.  In such a system, a user can "shift gears", first
  19475. creating a plan and then transmitting that plan.
  19476.  
  19477. %p
  19478. In other applications, data transmission may be a continuing,
  19479. intermittent activity mixed with other tasks.  As an example, air
  19480. traffic controllers might use their computer facilities to exchange
  19481. information (and to hand over responsibility) while they are performing
  19482. other essential flight monitoring tasks.
  19483.  
  19484. %p
  19485. An even broader requirement for computer-based message handling can be
  19486. seen in systems whose explicit, primary purpose is to support
  19487. communication (Uhlig, 1981; Smith, 1984).  In such applications,
  19488. computer-mediated data transmission is sometimes called "electronic
  19489. mail".  In conjunction with other new technology, the current
  19490. development of electronic mail has brought forecasts of a "wired
  19491. society" in which we become ever more dependent on computers for
  19492. communication (Martin, 1978).
  19493.  
  19494. %p
  19495. Effective communication is of critical importance in systems where
  19496. information handling requires coordination among groups of people.  This
  19497. will be true whether communication is mediated by computer or by other
  19498. means.  Computer-based message handling may offer a potential means of
  19499. improving communication efficiency, but careful design of the user
  19500. interface will be needed to realize that potential.
  19501.  
  19502. %p
  19503. In the interests of efficiency, much data transmission among computers
  19504. is designed to be automatic, representing a programmed message exchange
  19505. between one computer and another, with no direct user involvement.  If a
  19506. user does not participate in data transmission, then there is of course
  19507. no need to include data transmission functions in user interface design.
  19508. Only when the users themselves are involved in data transmission
  19509. transactions will interface design guidelines be needed.
  19510.  
  19511. %p
  19512. For the users of computer systems, data transmission can impose an extra
  19513. dimension of complexity.  A user not only must keep track of
  19514. transactions with the computer, but also must initiate and monitor data
  19515. exchange with other people.  Users will need extra information to
  19516. control data transmission, perhaps including status information about
  19517. other systems, and the communication links with other systems.  Users
  19518. will need feedback when sending or receiving data.  Users may need
  19519. special computer assistance in composing, storing and retrieving
  19520. messages, as well as in actual data transmission.  And users will wish
  19521. to control the disposition of received messages, perhaps renaming a
  19522. message and storing it with other related messages, and/or sending it on
  19523. to other users.
  19524.  
  19525. %p
  19526. When data transmission functions can be designed as an integral part of
  19527. an information system, there is a clear opportunity for the interface
  19528. designer to ensure compatibility of procedures.  For example, if the
  19529. system provides procedures for text editing, file storage, and retrieval
  19530. in support of so-called "word processing" functions, then those same
  19531. procedures should serve to edit, store, and retrieve messages.  Users
  19532. will not have to learn a different set of commands, or select from a
  19533. different assortment of menu options.
  19534.  
  19535. %p
  19536. In some current applications, however, data transmission functions have
  19537. been grafted onto an existing system.  There is a practical advantage in
  19538. buying a separate package of message handling software for use in
  19539. conjunction with an already existing system.  The message handling
  19540. functions do not have to be designed from scratch, and they can often be
  19541. added without any fundamental redesign of the existing system
  19542. capabilities.
  19543.  
  19544. %p
  19545. There is a potentially serious disadvantage, however, in trying to
  19546. combine separately designed software packages: they will almost surely
  19547. look different to a user, unless care is taken to design an integrated
  19548. user interface.  Differences in user interface logic can sometimes be
  19549. "papered over" by the software designer, perhaps by providing a menu
  19550. overlay that effectively conceals inconsistencies of control logic
  19551. (Goodwin, 1983; 1984).  How well the user interface design has
  19552. integrated the disparate software packages should then be evaluated in
  19553. operational use (Tammaro, 1983).
  19554.  
  19555. %p
  19556. Whether the user interface to data transmission functions can be
  19557. designed from scratch, or is designed separately and then must be
  19558. integrated with other system functions, some guidelines may be needed to
  19559. help the interface designer.  Recent studies of computer-based message
  19560. handling have been chiefly concerned with determining the functional
  19561. capabilities required in data transmission (cf., Goodwin, 1980).  There
  19562. is already evidence, however, that the practical use of data
  19563. transmission functions can be limited by deficiencies in user interface
  19564. design (Goodwin, 1982).
  19565.  
  19566. %p
  19567. The general objectives of user interface design in other functional
  19568. areas are equally valid for data transmission functions.  Procedures for
  19569. data transmission should be consistent in themselves, and consistent
  19570. with procedures for data entry and display.  Interface design should
  19571. minimize effort and memory load on the user, and permit flexibility in
  19572. user control of data transmission.
  19573.  
  19574. %p Objectives
  19575. Consistency of data transmission
  19576. Minimal user actions
  19577. Minimal memory load on user
  19578. Compatibility with other information handling
  19579. Flexibility for user control of data transmission
  19580. %a "5.0    General"
  19581.  
  19582. %p
  19583. Data transmission refers to computer-mediated communication among system
  19584. users, and also with other systems.
  19585. %g "5.0/1      Functional Integration"
  19586.  
  19587. %p
  19588. Ensure that data transmission functions are integrated with other
  19589. information handling functions within a system.
  19590.  
  19591. %p Comment
  19592. A user should be able to transmit data using the same computer system
  19593. (and procedures) used for general entry, editing, display, and other
  19594. processing of data.
  19595.  
  19596. %p Comment
  19597. A user should not have to log off from a general data processing system
  19598. and log on to some other special system in order to send or receive a
  19599. message.  If data transmission facilities are in fact implemented as a
  19600. separate system, that separation should be concealed in user interface
  19601. design, so that a user can move from general information handling to
  19602. message handling without interruption.
  19603. %g "5.0/2      Functional Wording"
  19604.  
  19605. %p
  19606. Choose functional wording for the terms used in data transmission -- for
  19607. preparing and addressing messages, for initiating and controlling
  19608. message transmission and other forms of data transfer, and for receiving
  19609. messages -- so that those terms will match users' work-oriented
  19610. terminology.
  19611.  
  19612. %p Example
  19613. A user should be able to address messages to other people or agencies by
  19614. name, without concern for computer addresses, communication network
  19615. structure and routing.
  19616.  
  19617. %p Comment
  19618. In general, a user should not have to learn the technical details of
  19619. communication protocols, codes for computer "handshaking", data format
  19620. conversion, etc., but should be able to rely on the computer to handle
  19621. those aspects of data transmission automatically.
  19622.  
  19623. %p Reference
  19624. Bruder Moy Mueller Danielson 1981
  19625.  
  19626. %p "See also"
  19627. 3.1.5/3 3.1.5/5
  19628. %g "5.0/3      Consistent Procedures"
  19629.  
  19630. %p
  19631. Ensure that procedures for preparing, sending and receiving messages,
  19632. are consistent from one transaction to another, and are consistent with
  19633. procedures for other information handling tasks.
  19634.  
  19635. %p Exception
  19636. Data transmission that does not involve formal messages might by-pass
  19637. standard procedures as in the direct linking of terminals, or might
  19638. require special procedures as in the transfer of data files.
  19639.  
  19640. %p Comment
  19641. Procedures should be the same for handling different kinds of messages
  19642. and for messages sent to different destinations, although procedures for
  19643. handling high-priority messages might incorporate special actions to
  19644. ensure special attention.
  19645.  
  19646. %p Comment
  19647. Users should be able to use the same procedures to enter, edit and
  19648. display messages as they use to enter, edit and display other kinds of
  19649. data.  Computer-generated error messages and other forms of user
  19650. guidance should also be consistent from one kind of information handling
  19651. to another.
  19652.  
  19653. %p "See also"
  19654. 4.0/1
  19655. %g "5.0/4      Minimal Memory Load on User"
  19656.  
  19657. %p
  19658. Design the data transmission procedures to minimize memory load on the
  19659. user.
  19660.  
  19661. %p Example
  19662. Interface software might provide automatic insertion into messages of
  19663. standard header information, distribution lists, etc.
  19664.  
  19665. %p Example
  19666. The computer should provide automatic queuing of outgoing messages
  19667. pending confirmation of transmission, and of incoming messages pending
  19668. their review and disposition.
  19669.  
  19670. %p Example
  19671. Software might provide automatic record keeping, message logging, status
  19672. displays, etc.
  19673. %g "5.0/5      Minimal User Actions"
  19674.  
  19675. %p
  19676. Design the data transmission procedures to minimize required user
  19677. actions.
  19678.  
  19679. %p Example
  19680. In some applications, software logic might prepare and transmit messages
  19681. automatically, derived from data already stored in the computer.
  19682.  
  19683. %p Example
  19684. Software logic might provide automatic reformatting of stored data for
  19685. transmission, where format change is required.
  19686.  
  19687. %p Example
  19688. Interface software might provide automatic insertion into messages of
  19689. standard header information, distribution lists, etc.
  19690. %g "5.0/6      Control by Explicit User Action"
  19691.  
  19692. %p
  19693. Design the data transmission procedures so that both sending and
  19694. receiving messages are accomplished by explicit user action.
  19695.  
  19696. %p Comment
  19697. Automatic message generation and receipt will be helpful in many
  19698. applications, but in such cases the user should be able to monitor
  19699. transmissions, and should be able to participate by establishing,
  19700. reviewing and/or changing the computer logic that controls automatic
  19701. data transmission.
  19702.  
  19703. %p "See also"
  19704. 1.0/9 3.0/5 4.0/2 6.0/9
  19705. %g "5.0/7      Flexible User Control"
  19706.  
  19707. %p
  19708. Provide for flexible control of data transmission, so that users can
  19709. decide what data should be transmitted, when, and where.
  19710.  
  19711. %p Exception
  19712. In monitoring and operation control applications, data transmission must
  19713. often be event-driven.
  19714.  
  19715. %p Comment
  19716. Flexible control of message handling will help ensure that routine data
  19717. transmissions will not interfere with a user's other activities.
  19718.  
  19719. %p Reference
  19720. Williamson Rohlfs 1981
  19721. %g "5.0/8      +  Interrupt"
  19722.  
  19723. %p
  19724. Allow users to interrupt message preparation, review, or disposition,
  19725. and then resume any of those tasks from the point of interruption.
  19726.  
  19727. %p "See also"
  19728. 3.3
  19729. %g "5.0/9      Flexible Message Filing"
  19730.  
  19731. %p
  19732. In applications requiring general-purpose message handling, provide
  19733. users with flexible capabilities for filing copies of draft messages
  19734. during preparation, transmitted messages, and received messages, and
  19735. organizing those message files.
  19736.  
  19737. %p Comment
  19738. For most information handling systems, it is probably desirable to
  19739. design the user interface so that users do not have to concern
  19740. themselves with the detailed structure of data files.  For message
  19741. handling, however, users will often need to decide themselves whether
  19742. and where to store transmitted data, i.e., how messages should be
  19743. organized in their filing.  Appropriate computer aids should be provided
  19744. for message storage and retrieval, to permit naming of message files,
  19745. grouping of files into larger "folders", and indexing the resulting file
  19746. structure.
  19747. %g "5.0/10     Message Highlighting"
  19748.  
  19749. %p
  19750. Provide software capabilities to annotate transmitted data with
  19751. appropriate highlighting to emphasize alarm/alert conditions, priority
  19752. indicators, or other significant second-order information that could
  19753. affect message handling.
  19754.  
  19755. %p Comment
  19756. Second-order information, i.e., data about data, will often aid the
  19757. handling and interpretation of messages.  Such annotation might be
  19758. provided automatically by software logic (e.g., a computer-generated
  19759. date-time-stamp to indicate currency), or might be added by the sender
  19760. of a message to emphasize some significant feature (e.g., attention
  19761. arrows), or by the receiver of a message as an aid in filing and
  19762. retrieval.
  19763.  
  19764. %p Reference
  19765. Williamson Rohlfs 1981
  19766. %a "5.1    Preparing Messages"
  19767.  
  19768. %p
  19769. Preparing messages for transmission involves specification of contents,
  19770. format, and header information.
  19771. %g "5.1/1      Message Composition Compatible with Data Entry"
  19772.  
  19773. %p
  19774. Ensure that procedures for composing messages are compatible with
  19775. general data entry procedures, especially those for text editing.
  19776.  
  19777. %p Exception
  19778. In systems where special editing capabilities are available for special
  19779. tasks, as in some programming systems, users should be able to choose
  19780. whether a special computer editor will be used for message preparation.
  19781.  
  19782. %p Comment
  19783. A user should not have to learn procedures for entering message data
  19784. that are different from more general data entry, particularly if those
  19785. procedures might involve conflicting habits.
  19786.  
  19787. %p "See also"
  19788. 5.0/3 1
  19789. %g "5.1/2      User-Designed Message Formats"
  19790.  
  19791. %p
  19792. When required message formats will vary unpredictably, allow users to
  19793. compose and transmit messages with a format of their own design.
  19794.  
  19795. %p Comment
  19796. Establishing new formats, particularly if automatic data validation must
  19797. be defined for specified fields, may require special skills.  Therefore
  19798. this capability might be provided to a system administrator and not to
  19799. all system users.
  19800. %g "5.1/3      +  Unformatted Text"
  19801.  
  19802. %p
  19803. Allow users to compose and transmit messages as unformatted text.
  19804.  
  19805. %p Comment
  19806. Allowing users to create arbitrary text messages (sometimes called
  19807. "chatter") will let users deal flexibly with a variety of communication
  19808. needs not anticipated by system designers.
  19809. %g "5.1/4      Stored Message Forms"
  19810.  
  19811. %p
  19812. When message formats should conform to a defined standard or are
  19813. predictable in other ways, provide prestored forms to aid users in
  19814. message preparation.
  19815.  
  19816. %p Example
  19817. A stored form might be used to create a routine report for transmission
  19818. to a standard distribution list.
  19819.  
  19820. %p Comment
  19821. It may also be desirable to allow users to modify stored forms for their
  19822. own purposes, and to define and store their own message forms.
  19823.  
  19824. %p "See also"
  19825. 5.0/5
  19826. %g "5.1/5      Automatic Message Formatting"
  19827.  
  19828. %p
  19829. When data must be transmitted in a particular format, as in data forms
  19830. or formatted text, provide computer aids to generate the necessary
  19831. format automatically.
  19832.  
  19833. %p Comment
  19834. When transmitting data, a user should not have to convert those data
  19835. from whatever format was used originally for data entry.
  19836.  
  19837. %p Comment
  19838. It is not sufficient merely to provide computer checking of formats
  19839. generated by the user.  Computers should help users to avoid errors, and
  19840. not just to identify errors.
  19841.  
  19842. %p Reference
  19843. Deutsch 1981
  19844.  
  19845. %p "See also"
  19846. 5.0/5
  19847. %g "5.1/6      +  Automatic Text Formatting"
  19848.  
  19849. %p
  19850. When transmitted text must be formatted in a particular way, format
  19851. control should be automatic with no extra attention required from the
  19852. user.
  19853.  
  19854. %p Example
  19855. Header/paging formats might be inserted automatically in preparing text
  19856. for transmission.
  19857.  
  19858. %p Example
  19859. Defined message formats might be filled automatically from stored text.
  19860.  
  19861. %p "See also"
  19862. 1.3/21 5.0/5
  19863. %g "5.1/7      +  Data Forms"
  19864.  
  19865. %p
  19866. In preparing data forms for transmission, allow users to enter, review,
  19867. and change data on an organized display with field labels, rather than
  19868. requiring users to deal with an unlabeled string of items.
  19869.  
  19870. %p Comment
  19871. User composition and review of unlabeled data strings, especially those
  19872. requiring delimiters to mark items, will be prone to error.  If such
  19873. data strings are needed for economy of transmission, they should be
  19874. generated by the computer automatically from data entered in a
  19875. form-filling dialogue.
  19876.  
  19877. %p Comment
  19878. Transmission of data from one computer to another will often be more
  19879. economical if field labels and other display formatting features are
  19880. omitted.  In such cases, a format code should be included with the
  19881. message, so that forms filled by the sender can be re-created in a
  19882. display useful to the receiver.
  19883.  
  19884. %p "See also"
  19885. 5.0/3 5.5/12
  19886. %g "5.1/8      +  Tables and Graphics"
  19887.  
  19888. %p
  19889. In preparing tabular or graphic data for transmission, allow users to
  19890. enter, review, and change data in customary formats, regardless of what
  19891. the computer-imposed format will be for actual transmission purposes.
  19892.  
  19893. %p Example
  19894. Tabular data in messages should be prepared (and later received) in
  19895. row-column format, even though the table entries might actually be
  19896. transmitted as a coded string of data items.
  19897.  
  19898. %p "See also"
  19899. 5.0/3 5.5/12
  19900. %g "5.1/9      Flexible Data Specification"
  19901.  
  19902. %p
  19903. Provide users with flexible means for specifying the data to be
  19904. transmitted.
  19905.  
  19906. %p Comment
  19907. When preparing a message, a user may wish to specify data to be included
  19908. in the message by selecting a particular file, either all or a
  19909. designated part, or by defining a data category.
  19910.  
  19911. %p "See also"
  19912. 5.0/7
  19913. %g "5.1/10     +  Incorporate Existing Files"
  19914.  
  19915. %p
  19916. Allow users to incorporate an existing data file in a message, or to
  19917. combine several files into a single message for transmission.
  19918.  
  19919. %p Comment
  19920. It should not be necessary for a user to re-enter for transmission any
  19921. data already entered for other purposes.  It should be possible to
  19922. combine stored data with new data when preparing messages for
  19923. transmission.
  19924.  
  19925. %p Reference
  19926. Williamson Rohlfs 1981
  19927.  
  19928. %p "See also"
  19929. 1.0/1 5.0/5
  19930. %g "5.1/11     +  Incorporate Other Messages"
  19931.  
  19932. %p
  19933. Allow users to incorporate other messages in a message being prepared
  19934. for transmission.
  19935.  
  19936. %p Example
  19937. A user might wish to forward with comments a message received from
  19938. someone else.
  19939. %g "5.1/12     Variable Message Length"
  19940.  
  19941. %p
  19942. Allow users to prepare messages of any length.
  19943.  
  19944. %p Comment
  19945. In particular, data transmission facilities should not limit the length
  19946. of a message to a single display screen or to some fixed number of
  19947. lines.  There will usually be some implicit limit on message length
  19948. imposed by storage capacity or the amount of time it would take to
  19949. transmit a very long message.  However, a user might sometimes choose to
  19950. increase storage or accept transmission delays in order to send a long
  19951. message required by a particular task.
  19952.  
  19953. %p Reference
  19954. Bruder Moy Mueller Danielson 1981
  19955. %g "5.1/13     Saving Draft Messages"
  19956.  
  19957. %p
  19958. Allow users to save draft messages during their preparation, or upon
  19959. their completion.
  19960.  
  19961. %p Comment
  19962. A user should not be forced to recreate a message if its preparation is
  19963. interrupted for some reason.  Users should be able to specify how to
  19964. save draft messages (i.e., in what file), just as they may decide how to
  19965. save copies of transmitted and received messages.
  19966.  
  19967. %p "See also"
  19968. 5.0/9
  19969. %a "5.2    Addressing Messages"
  19970.  
  19971. %p
  19972. Addressing messages may require user action and computer aids to specify
  19973. the destinations for data transmission.
  19974. %g "5.2/1      Destination Selection"
  19975.  
  19976. %p
  19977. Allow users to specify the destination(s) to which data will be
  19978. transmitted.
  19979.  
  19980. %p Exception
  19981. In some bus communication systems, it might be desirable to permit
  19982. content-driven communication, where potential recipients can request all
  19983. messages on particular topics, whether or not those messages are
  19984. specifically addressed to them.
  19985.  
  19986. %p Comment
  19987. Specification of message destination might be in terms of system users,
  19988. as individuals or groups, or other work stations and terminals
  19989. (including remote printers), or users of other systems.  Standard
  19990. destinations may be specified as a matter of routine procedure, with
  19991. special destinations designated as needed for particular transactions.
  19992.  
  19993. %p Comment
  19994. For most applications, it is important that users be able to send a
  19995. message to multiple destinations with a single transmission action.  For
  19996. multiple recipients, it will usually be helpful to show all addresses to
  19997. all recipients, so that they will know who else has received the
  19998. message.  In some cases, however, it may be desirable to permit
  19999. transmission of "blind" copies.
  20000.  
  20001. %p "See also"
  20002. 5.0/7
  20003. %g "5.2/2      Standard Address Header"
  20004.  
  20005. %p
  20006. For addressing and identifying messages, provide a basic set of header
  20007. fields that can be interpreted by all systems to which users will send
  20008. messages.
  20009.  
  20010. %p Example
  20011. Basic header fields might include DATE, TO, FROM, COPIES, and perhaps
  20012. some message identification number.
  20013.  
  20014. %p Comment
  20015. In any particular system, it should be possible for users (or a system
  20016. administrator) to specify additions to the standard header fields in
  20017. order to convey more descriptive information about different types of
  20018. messages.  Possible additions to the basic address fields might include
  20019. SUBJECT, KEYWORDS, and REFERENCES.
  20020.  
  20021. %p Reference
  20022. Deutsch 1981
  20023. %g "5.2/3      Prompting Address Entry"
  20024.  
  20025. %p
  20026. When a user must specify the address for a message, provide prompting to
  20027. guide the user in that process.
  20028.  
  20029. %p Comment
  20030. Prompting might consist of a series of questions to be answered, or an
  20031. address form to be completed by the user, or reminders of command
  20032. entries that may be needed.
  20033.  
  20034. %p "See also"
  20035. 4.4/7 5.0/4
  20036. %g "5.2/4      Address Directory"
  20037.  
  20038. %p
  20039. Provide users with a directory showing all acceptable forms of message
  20040. addressing for each destination in the system, and for links to external
  20041. systems.
  20042.  
  20043. %p Comment
  20044. In addition to the names of people, users may need to find addresses for
  20045. organizational groups, functional positions, other computers, data
  20046. files, work stations, and devices.  The directory should include
  20047. specification of system distribution lists as well as individual
  20048. addresses.
  20049.  
  20050. %p Reference
  20051. Garcia-Luna Kuo 1981
  20052. Williamson Rohlfs 1981
  20053. %g "5.2/5      +  Aids for Directory Search"
  20054.  
  20055. %p
  20056. Provide computer aids so that a user can search an address directory by
  20057. specifying a complete or partial name.
  20058.  
  20059. %p Comment
  20060. Users will often remember a partial address, even if they cannot
  20061. remember its complete form.
  20062. %g "5.2/6      +  Extracting Directory Addresses"
  20063.  
  20064. %p
  20065. Allow users to extract selected addresses from a directory for direct
  20066. insertion into a header in order to specify the destination(s) for a
  20067. message.
  20068.  
  20069. %p Comment
  20070. Direct insertion of addresses from a directory will avoid errors which a
  20071. user might make in manual transcription and entry, as well as being
  20072. faster.
  20073.  
  20074. %p Comment
  20075. Users may also wish to extract addresses from the directory in order to
  20076. build their own distribution lists, or add to a "nickname" file.
  20077. %g "5.2/7      User-Assigned Nicknames for Addressing"
  20078.  
  20079. %p
  20080. Allow users to define nicknames for formal addresses, to save those
  20081. nicknames in their own files, and to specify those nicknames when
  20082. addressing messages.
  20083.  
  20084. %p Comment
  20085. There are several implications to such a nickname capability.  First, a
  20086. user might wish to assign nicknames to computers and other devices
  20087. (e.g., printers) as well as to people.  Second, if a user defines a
  20088. nickname, the computer must check to ensure that the nickname is unique
  20089. in that user's nickname file.  Third, nicknames must take precedence
  20090. over system names when a user addresses a message; i.e., the computer
  20091. must check the user's nickname file before checking the system-wide
  20092. address list.  Fourth, nicknames should not be transmitted; i.e., the
  20093. computer should automatically transform nicknames into standard system
  20094. addresses when completing the address header for message transmission.
  20095. %g "5.2/8      System Distribution Lists"
  20096.  
  20097. %p
  20098. Provide formal distribution lists recognized by the system so that users
  20099. can specify multiple addresses with a single distribution list name.
  20100.  
  20101. %p Example
  20102. A formal distribution list might be maintained of people who are working
  20103. on a particular project, or who are members of a particular
  20104. organizational group.
  20105.  
  20106. %p Comment
  20107. Recognized system distribution lists need not be expanded to the names
  20108. of individual addressees when a message is transmitted.
  20109.  
  20110. %p Comment
  20111. The authority to use system distribution lists may be limited in some
  20112. cases.  For example, not everyone might be permitted to send messages to
  20113. a distribution list of all employees in a large organization.
  20114.  
  20115. %p Reference
  20116. Bruder Moy Mueller Danielson 1981
  20117. Deutsch 1984
  20118. Garcia-Luna Kuo 1981
  20119. Williamson Rohlfs 1981
  20120. %g "5.2/9      +  Access to Distribution List Information"
  20121.  
  20122. %p
  20123. Provide users with information about distribution lists on which they
  20124. are included, and about those distribution lists which they are
  20125. authorized to use.
  20126.  
  20127. %p Comment
  20128. Users should be able to discover the names of all people on distribution
  20129. lists they are authorized to use.
  20130.  
  20131. %p Reference
  20132. Deutsch 1984
  20133. %g "5.2/10     Informal Distribution Lists"
  20134.  
  20135. %p
  20136. Allow individuals or groups to create their own informal distribution
  20137. lists for local use.
  20138.  
  20139. %p Comment
  20140. Such informal group and individual distribution lists should be expanded
  20141. by the computer to show individual addressees prior to message
  20142. transmission.
  20143.  
  20144. %p Comment
  20145. As a procedural matter, informal distribution lists shared by a group
  20146. might be created and maintained by some designated custodian, who could
  20147. control access to such lists.  Whereas any individual user's personal
  20148. distribution lists might be changed freely.
  20149.  
  20150. %p Reference
  20151. Bruder Moy Mueller Danielson 1981
  20152. Garcia-Luna Kuo 1981
  20153. %g "5.2/11     +  Lists Within Lists"
  20154.  
  20155. %p
  20156. Within a distribution list, allow users to include other distribution
  20157. lists as well as individual names.
  20158.  
  20159. %p Comment
  20160. In providing this capability, note that care must be taken to ensure
  20161. that computer expansion of nested lists will not cause continuous
  20162. looping, as in a case where list A includes list B which in turn
  20163. includes list A.
  20164.  
  20165. %p Reference
  20166. Deutsch 1984
  20167. %g "5.2/12     +  Modifying Distribution Lists"
  20168.  
  20169. %p
  20170. Provide computer aids to permit users to modify distribution lists once
  20171. created.
  20172.  
  20173. %p Comment
  20174. Users might sometimes wish to modify their stored distribution lists, or
  20175. the distribution for any particular message.  Appropriate review/change
  20176. procedures should be provided.
  20177.  
  20178. %p "See also"
  20179. 5.0/4 5.0/5
  20180. %g "5.2/13     Automatic Expansion of Partial Addresses"
  20181.  
  20182. %p
  20183. Allow users to enter a partial name when specifying addresses, if that
  20184. will identify a particular destination uniquely.
  20185.  
  20186. %p Comment
  20187. If a partial name is ambiguous (i.e., it partially identifies two or
  20188. more addressees), then a list of the possible addressees might be
  20189. provided and the user asked to select the correct one.
  20190.  
  20191. %p Comment
  20192. The computer should automatically expand any partial address into its
  20193. full form when completing the header for message transmission.
  20194. %g "5.2/14     Automatic Address Checking"
  20195.  
  20196. %p
  20197. Provide computer checks for address accuracy (i.e., recognized content
  20198. and format) and require users to correct mistakes before initiating
  20199. message transmission.
  20200.  
  20201. %p Comment
  20202. A transmitted message should always have correct address information.
  20203. In particular, a message sent to several people should have the correct
  20204. address for all of those people on all copies.  If the sender has
  20205. specified a wrong address then no copies of the message should be sent
  20206. until that error has been corrected.  Otherwise, a recipient might
  20207. attempt to reply using the same inaccurate addresses that were received,
  20208. and address errors could propagate within the system.
  20209.  
  20210. %p Comment
  20211. Ideally, address checking should occur as the user enters addresses,
  20212. when correction may be relatively easy.  If that is not possible, and an
  20213. address error is not found until the user has moved on to some other
  20214. task, then the user should not be interrupted to correct the error.
  20215. Instead, a nonintrusive error message should be displayed, so that a
  20216. correction can be made at the user's convenience.
  20217.  
  20218. %p Comment
  20219. Sometimes an address error may not be discovered until a user has
  20220. requested message transmission and logged off the system.  In such a
  20221. case, message transmission should be delayed until that user returns to
  20222. the system, receives a delayed notification of the address error, and
  20223. corrects it.  That message delay is an acceptable consequence under
  20224. these circumstances, i.e., when a user leaves the system right after
  20225. making an error.
  20226.  
  20227. %p "See also"
  20228. 1.7/1
  20229. %g "5.2/15     Addressing Replies to Messages Received"
  20230.  
  20231. %p
  20232. If a user wishes to reply to a received message, provide the appropriate
  20233. address(es) automatically, along with a reference to that received
  20234. message.
  20235.  
  20236. %p Comment
  20237. The computer should address the reply to the sender of the original
  20238. message, include some identification of the original message (e.g., its
  20239. date, time, subject, and/or other identification), and should address
  20240. copies of the reply to other recipients of the original message.
  20241. %g "5.2/16     Editing Address Headers"
  20242.  
  20243. %p
  20244. Allow users to edit the address fields in the header of a message being
  20245. prepared for transmission.
  20246.  
  20247. %p Comment
  20248. An editing capability will allow users to correct errors, and to change
  20249. unwanted addresses which may have been supplied automatically by the
  20250. computer.
  20251.  
  20252. %p Comment
  20253. Procedures for editing addresses should be the same as those for editing
  20254. message content.
  20255.  
  20256. %p "See also"
  20257. 5.0/3 5.1/1
  20258. %g "5.2/17     Single Occurrence of Address"
  20259.  
  20260. %p
  20261. Ensure that the address of any particular recipient will occur only once
  20262. in a message.
  20263.  
  20264. %p Comment
  20265. Duplicate addresses may confuse users.  Within the limits of reasonable
  20266. cost, computer checking should be provided to remove any address
  20267. duplication that might result from the overlap of several expanded
  20268. distribution lists, or from the cumulative listing of recipients of
  20269. messages replying to replies.
  20270.  
  20271. %p Comment
  20272. If duplicate addressing cannot reasonably be prevented, it is important
  20273. to ensure that duplicate copies of a message are not actually sent to
  20274. any recipient.
  20275.  
  20276. %p Comment
  20277. There might be a special situation in which a user wants to send
  20278. multiple copies of a message to a single recipient.  In such a case, the
  20279. extra copies should be specified explicitly in message transmission,
  20280. rather than achieved indirectly by duplicating that recipient's address.
  20281.  
  20282. %p Reference
  20283. Deutsch 1984
  20284.  
  20285. %p "See also"
  20286. 5.4/4
  20287. %g "5.2/18     Serial Distribution"
  20288.  
  20289. %p
  20290. In applications requiring coordinated review of messages by several
  20291. recipients, allow the sender to specify a serial distribution so that a
  20292. message will be passed from one recipient to the next.
  20293.  
  20294. %p Comment
  20295. Depending on the circumstances, serial recipients might or might not be
  20296. allowed to annotate a forwarded message with comments.
  20297.  
  20298. %p "See also"
  20299. 5.1/11
  20300. %g "5.2/19     Redistributing Received Messages"
  20301.  
  20302. %p
  20303. Allow users to redistribute received messages by enlarging their address
  20304. headers.
  20305.  
  20306. %p Comment
  20307. Here redistribution is considered to be forwarding a message without
  20308. editing or added comment, with only its address being changed.  Where
  20309. this capability is provided, some means must be adopted to indicate that
  20310. a message has been forwarded verbatim, and to identify who added what
  20311. names to the original distribution.
  20312.  
  20313. %p "See also"
  20314. 5.1/11
  20315. %a "5.3    Initiating Transmission"
  20316.  
  20317. %p
  20318. Initiating data transmission should usually be under user control, with
  20319. computer aids for that process.
  20320. %g "5.3/1      User-Initiated Transmission"
  20321.  
  20322. %p
  20323. Allow users to initiate data transmission directly, by entering an
  20324. explicit SEND command.
  20325.  
  20326. %p Comment
  20327. In some routine reporting situations it might help to initiate message
  20328. transmission automatically.  More often, however, users will wish to
  20329. initiate transmission themselves.  User control of initiation could
  20330. permit a user to review and edit prepared messages before sending them,
  20331. and possibly catch some mistakes before they are propagated.
  20332.  
  20333. %p Comment
  20334. In applications where message review is critical (perhaps for purposes
  20335. of security), users might be required to take some extra CONFIRM action
  20336. to release data for transmission.
  20337.  
  20338. %p "See also"
  20339. 5.0/6 5.0/7
  20340. %g "5.3/2      User Review Before Transmission"
  20341.  
  20342. %p
  20343. When computer aids are provided for preparing, addressing, and
  20344. initiating message transmission, allow users to review and change
  20345. messages prior to transmission.
  20346.  
  20347. %p "See also"
  20348. 6.4/2
  20349. %g "5.3/3      +  Optional Message Display"
  20350.  
  20351. %p
  20352. For sending messages, allow users to choose whether to transmit a
  20353. displayed version or to transmit directly from computer-stored data
  20354. files.
  20355.  
  20356. %p Comment
  20357. Message transmission from displays will permit a user to review and edit
  20358. messages before sending them.  But users might sometimes wish to
  20359. transmit a prepared message directly, without having first to display
  20360. that message for review.
  20361.  
  20362. %p "See also"
  20363. 5.0/7
  20364. %g "5.3/4      Computer-Initiated Transmission"
  20365.  
  20366. %p
  20367. When standard messages must be transmitted, as when a computer is
  20368. monitoring external events and reporting data change, provide computer
  20369. aids to initiate transmission automatically.
  20370.  
  20371. %p Example
  20372. Many operations-monitoring tasks might benefit from automatic generation
  20373. of messages to report routine events.
  20374.  
  20375. %p Comment
  20376. Automatic transmission of routine messages will reduce user workload and
  20377. help ensure timely reporting.  However, users should be able to monitor
  20378. automatic message initiation, and may sometimes wish to modify
  20379. initiation logic.  Appropriate review/change procedures should be
  20380. provided, perhaps under control of a system administrator.
  20381. %g "5.3/5      Information About Communication Status"
  20382.  
  20383. %p
  20384. Allow users access to status information concerning the identity of
  20385. other system users currently on-line, and the availability of
  20386. communication with external systems.
  20387.  
  20388. %p Comment
  20389. Such information may influence a user's choice of destinations and
  20390. choice of communication methods, as well as the decision when to
  20391. initiate transmission.  For example, a user might choose to link
  20392. directly with another user who is currently on-line, but might compose a
  20393. message for deferred transmission to an inactive user.
  20394.  
  20395. %p Reference
  20396. Dzida 1981
  20397.  
  20398. %p "See also"
  20399. 4.1/6 4.1/8
  20400. %g "5.3/6      Sender Identification"
  20401.  
  20402. %p
  20403. When a message is sent, the computer should append to it fields showing
  20404. the sender's address, and the date and time of message creation and/or
  20405. transmission.
  20406.  
  20407. %p Exception
  20408. Like other formatting recommendations, this guideline would not apply
  20409. when data transmission may be accomplished without formal messages,
  20410. i.e., transmission by direct linking (where no formal headers are
  20411. prepared) or by file transfer (where header information might be sent as
  20412. a separate message rather than incorporated in the transmitted data
  20413. file).
  20414.  
  20415. %p Comment
  20416. Recipients will generally need to know the origin of any received
  20417. message.  For some messages, a simple identification of the sender may
  20418. be sufficient.  In special situations, however, it may be necessary to
  20419. provide special procedures for authenticating a sender's identity.
  20420.  
  20421. %p Comment
  20422. For some applications, recipients must know when a message was created,
  20423. in order to assess the currency of its contents.  For other
  20424. applications, users may need to know when a message was transmitted; its
  20425. time of creation might not be important.
  20426.  
  20427. %p Reference
  20428. Price 1981
  20429.  
  20430. %p "See also"
  20431. 6.4/6
  20432. %g "5.3/7      Assignment of Priority"
  20433.  
  20434. %p
  20435. When messages will have different degrees of urgency, i.e., different
  20436. implications for action by their recipients, allow the sender of a
  20437. message to designate its relative priority, or else have the computer
  20438. assign priority automatically.
  20439.  
  20440. %p Comment
  20441. The computer might impose limits on the priority that any particular
  20442. user can assign to messages.  In a military system, for example, only
  20443. certain users might be authorized to send messages at the highest
  20444. priority levels.
  20445.  
  20446. %p "See also"
  20447. 5.5/6
  20448. %g "5.3/8      Automatic Queuing for Transmission"
  20449.  
  20450. %p
  20451. Provide automatic queuing of outgoing messages, in order to reduce the
  20452. need for user involvement in the routine processing of data
  20453. transmission.
  20454.  
  20455. %p Example
  20456. The computer might queue outgoing messages when communication channels
  20457. to some addressees are temporarily unavailable, and then initiate
  20458. transmission automatically when a link can be established.
  20459.  
  20460. %p Comment
  20461. Specific requirements will vary with the application, but some queuing
  20462. should be provided.
  20463.  
  20464. %p "See also"
  20465. 5.0/4
  20466. %g "5.3/9      Deferring Message Transmission"
  20467.  
  20468. %p
  20469. Allow users to defer the transmission of prepared messages, to be
  20470. released by later action.
  20471.  
  20472. %p Example
  20473. Prepared messages might be left in some "outbox" file for subsequent
  20474. transmission when a user has finished an entire batch.
  20475.  
  20476. %p Comment
  20477. A user might wish to defer data transmission until a batch of related
  20478. messages has been prepared, or perhaps until some specified date-time
  20479. for release.
  20480.  
  20481. %p "See also"
  20482. 5.0/7
  20483. %g "5.3/10     +  Transmission at Specified Date/Time"
  20484.  
  20485. %p
  20486. Allow users to specify a date and time for transmitting prepared
  20487. messages.
  20488.  
  20489. %p Comment
  20490. A user should be able to cancel such a deferred transmission prior to
  20491. its specified initiation time.
  20492. %g "5.3/11     Return Receipt"
  20493.  
  20494. %p
  20495. Provide for message transmission with "return receipt requested" if
  20496. users will require that capability.
  20497.  
  20498. %p Comment
  20499. The logic of what constitutes message "receipt" might vary from one
  20500. application to another.  Where sender and receiver share a common
  20501. system, receipt might be defined as occurring when the recipient
  20502. actually requests display of an incoming message.  Where sender and
  20503. receiver work with different (and perhaps dissimilar) message systems,
  20504. receipt might be defined more tenuously.  For example, a message might
  20505. be considered "received" when the recipient is merely notified of its
  20506. arrival, or opens an "in-box" permitting potential access to that
  20507. message.
  20508.  
  20509. %p Comment
  20510. Any "registered mail" of this kind should be labeled as such for all
  20511. recipients of this mail.
  20512.  
  20513. %p "See also"
  20514. 5.4/3
  20515. %g "5.3/12     Cancel Transmission"
  20516.  
  20517. %p
  20518. Allow senders to cancel a request for transmission of a message that has
  20519. not yet been sent.
  20520.  
  20521. %p "See also"
  20522. 3.3/3 5.0/7 5.4/8
  20523. %g "5.3/13     Printing Messages"
  20524.  
  20525. %p
  20526. Allow users to print copies of transmitted messages in order to make
  20527. hard-copy records.
  20528.  
  20529. %p Exception
  20530. In some applications, security constraints might make printed records
  20531. inadvisable.
  20532.  
  20533. %p Comment
  20534. This may be regarded as a special case of message addressing, where a
  20535. message is sent to a printer as well as to other people.
  20536.  
  20537. %p Comment
  20538. User requirements for printed data are often unpredictable to system
  20539. designers, and so a general printing capability should be provided.
  20540.  
  20541. %p Reference
  20542. EG 4.2.14
  20543. MS 5.15.9.2
  20544. Bruder Moy Mueller Danielson 1981
  20545.  
  20546. %p "See also"
  20547. 2.7.1/11 6.2/7 6.4/7
  20548. %a "5.4    Controlling Transmission"
  20549.  
  20550. %p
  20551. Controlling transmission can often be handled automatically, but users
  20552. may need information about that process.
  20553. %g "5.4/1      Automatic Protection of Transmitted Data"
  20554.  
  20555. %p
  20556. Ensure that transmitted data are protected automatically with parity
  20557. checks to detect and correct any errors that may occur, and buffering
  20558. until acknowledgment of receipt.
  20559.  
  20560. %p Comment
  20561. The computer should check transmitted data to determine whether an error
  20562. has occurred; correct such errors automatically, if necessary by
  20563. requesting retransmission; and call to the user's attention any case in
  20564. which a detected error cannot be automatically corrected.
  20565.  
  20566. %p "See also"
  20567. 6.4/1
  20568. %g "5.4/2      Automatic Feedback"
  20569.  
  20570. %p
  20571. Provide automatic feedback for data transmission confirming that
  20572. messages have been sent or indicating transmission failures, as
  20573. necessary to permit effective user participation in message handling.
  20574.  
  20575. %p Comment
  20576. Specific information requirements will vary with the application, but
  20577. some feedback should be provided.
  20578.  
  20579. %p Comment
  20580. Users might require notification only of exceptional circumstances, as
  20581. in the event of transmission failure after repeated attempts.
  20582.  
  20583. %p Comment
  20584. For the electronic equivalent of registered mail, it might be helpful to
  20585. provide the sender confirmation that a message has been successfully
  20586. transmitted, or possibly even to notify the sender when a recipient has
  20587. actually read (displayed) the message.
  20588. %g "5.4/3      +  User Specification of Feedback"
  20589.  
  20590. %p
  20591. Allow users to specify what feedback should be provided for routine
  20592. message transmission, and also to request specific feedback for
  20593. particular messages.
  20594.  
  20595. %p Comment
  20596. Users may wish to specify minimal feedback (or perhaps none at all) for
  20597. routine message transmissions.  On the other hand, users may wish to
  20598. request more specific feedback for transmission of critical messages, as
  20599. an electronic equivalent of registered mail.
  20600.  
  20601. %p "See also"
  20602. 5.3/11
  20603. %g "5.4/4      Send Single Copy"
  20604.  
  20605. %p
  20606. Ensure that only one copy of any message will be transmitted to any
  20607. individual addressee.
  20608.  
  20609. %p Comment
  20610. Receiving multiple copies of the same message can be confusing to a
  20611. user, and will impose an unnecessary burden on the review and
  20612. disposition of received messages.
  20613.  
  20614. %p Comment
  20615. The problem of duplicative message transmission might arise if the same
  20616. address should appear in both the TO and COPY fields of a message
  20617. header, or appear once explicitly and again in some added distribution
  20618. list(s).  Thus one way to avoid message duplication is to ensure only a
  20619. single appearance of each address in a message.  If that is not
  20620. practicable, then checking logic should be provided to transmit a single
  20621. message to duplicated addresses.
  20622.  
  20623. %p Comment
  20624. If for any reason a user did want to send multiple copies of a message
  20625. to a single recipient, that should be specified explicitly in message
  20626. transmission, rather than being accomplished by duplicate addressing.
  20627.  
  20628. %p "See also"
  20629. 5.2/17
  20630. %g "5.4/5      Queuing Failed Transmissions"
  20631.  
  20632. %p
  20633. In the event of transmission failure, provide automatic queuing to
  20634. preserve outgoing messages.
  20635.  
  20636. %p Comment
  20637. Automatic queuing and retransmission of outgoing messages will reduce
  20638. the need for user attention.  If transmission fails in repeated
  20639. attempts, however, then user intervention may be required, and some
  20640. notification of that problem should be given to the user.  If
  20641. transmission fails because of faulty addressing, the user should be
  20642. notified immediately.
  20643.  
  20644. %p Reference
  20645. Dzida 1981
  20646.  
  20647. %p "See also"
  20648. 5.2/14
  20649. %g "5.4/6      +  Saving Undelivered Messages"
  20650.  
  20651. %p
  20652. If message transmission is not successful, provide automatic storage of
  20653. undelivered messages.
  20654.  
  20655. %p Comment
  20656. Transmission failure should not cause loss or destruction of messages,
  20657. and should not disrupt the sender's work in any other way.
  20658. %g "5.4/7      +  Notification of Transmission Failure"
  20659.  
  20660. %p
  20661. If message transmission is not successful, notify the sender and if
  20662. possible include an explanation of the problem.
  20663.  
  20664. %p Comment
  20665. It may help a user to know whether transmission has failed because of
  20666. faulty addressing, or communication link failure, or some other reason,
  20667. in order to take appropriate corrective action.
  20668. %g "5.4/8      Message Recall"
  20669.  
  20670. %p
  20671. Allow users to recall any message whose transmission has been initiated,
  20672. if it has not yet been received by its addressee(s).
  20673.  
  20674. %p Comment
  20675. The intent here is to allow users to change their minds, in situations
  20676. where a message may have been sent by mistake.  The difficulty of
  20677. message recall will vary with the circumstances.  If a message is still
  20678. in the "out-box" (i.e., it has not yet actually been sent), then its
  20679. recall can be accomplished simply by canceling the transmission request.
  20680. If a message has been transmitted but not yet actually received (i.e.,
  20681. it still resides unread in a recipient's "in-box"), then perhaps it can
  20682. still be retrieved.  If a message is recalled before its intended
  20683. recipient has seen it, that recipient need not be notified.  If the
  20684. recipient has seen it, then the sender should be notified that the
  20685. message cannot be recalled.  In that case, the message might be canceled
  20686. or countermanded procedurally, by sending some follow-up message.  If a
  20687. message to several addressees has been seen by some recipients but not
  20688. by others, then it would be subject only to partial recall;
  20689. countermanding might be a better solution.
  20690.  
  20691. %p Reference
  20692. Hannemyr Innocent 1985
  20693.  
  20694. %p "See also"
  20695. 5.3/12
  20696. %g "5.4/9      Automatic Record Keeping"
  20697.  
  20698. %p
  20699. When a log of data transmissions is required, maintain that log
  20700. automatically, based on user specification of message types and record
  20701. formats.
  20702.  
  20703. %p Comment
  20704. The objective here is to minimize routine "housekeeping" chores for the
  20705. user.  Once a user has specified the appropriate logging format (i.e.,
  20706. what elements of each message should be recorded), computer aids should
  20707. generate the log automatically, either for all messages, or for
  20708. specified categories of messages, or for particular messages identified
  20709. by the user.
  20710.  
  20711. %p Comment
  20712. The same kind of aids should be available for maintaining a journal of
  20713. data transmissions, in applications where a full copy of each message is
  20714. required.
  20715.  
  20716. %p "See also"
  20717. 5.0/4 5.0/5
  20718. %a "5.5    Receiving Messages"
  20719.  
  20720. %p
  20721. Receiving messages may require computer aids for queuing, reviewing,
  20722. filing, or otherwise disposing of incoming data.
  20723. %g "5.5/1      Specifying Sources"
  20724.  
  20725. %p
  20726. For receiving messages, allow users to specify from what sources data
  20727. are needed, and/or will be accepted.
  20728.  
  20729. %p Comment
  20730. Source specification might be in terms of data files, or other users, or
  20731. external sources.  Standard sources might be specified as a matter of
  20732. routine procedure, with special sources designated as needed for
  20733. particular transactions.
  20734.  
  20735. %p Comment
  20736. Computer-mediated message handling offers the potential for screening
  20737. out the electronic equivalent of "junk mail" or "crank calls".  A user
  20738. might choose to be selective in specifying the people or organizations
  20739. from which messages will be received, or in specifying data categories
  20740. of interest.
  20741.  
  20742. %p "See also"
  20743. 5.0/7
  20744. %g "5.5/2      Specifying Device Destination"
  20745.  
  20746. %p
  20747. For receiving messages, allow users to choose the method of receipt,
  20748. i.e., what device (files, display, printer) will be the local
  20749. destination.
  20750.  
  20751. %p Comment
  20752. Device destination might be specified differently for different types of
  20753. messages, or for messages received from different sources.  Transmitted
  20754. data might be received directly into computer files.  Incoming messages
  20755. might be routed to an electronic display for quick review, and/or to a
  20756. printer for hard-copy reference.
  20757.  
  20758. %p Comment
  20759. If a specified receiving device is not operable, such as a printer that
  20760. is not turned on, the computer should call that to the user's attention.
  20761.  
  20762. %p Comment
  20763. When messages are received via display, provide queuing of incoming
  20764. messages so that they will not interfere with use of that display for
  20765. other information handling tasks.
  20766.  
  20767. %p "See also"
  20768. 5.0/7
  20769. %g "5.5/3      Queuing Messages Received"
  20770.  
  20771. %p
  20772. Provide default logic so that, unless otherwise specified by a user, the
  20773. computer will route incoming messages automatically to a queue
  20774. ("in-box"), pending subsequent review and disposition by the user.
  20775.  
  20776. %p Comment
  20777. Some computer buffering of received messages will be required for a user
  20778. who is not logged on, and also to deal with near simultaneous receipt of
  20779. multiple transmissions.  The recommendation here is that the buffer
  20780. queue for incoming transmissions be enlarged as necessary to permit
  20781. indefinite retention of messages.  Any queue will have limits, of
  20782. course, and the user should be warned before those limits are exceeded.
  20783.  
  20784. %p Reference
  20785. Williamson Rohlfs 1981
  20786. %g "5.5/4      Message Notification at LOG-ON"
  20787.  
  20788. %p
  20789. When users log on to a system, notify them of any data transmissions
  20790. received since their last use of the system.
  20791.  
  20792. %p Comment
  20793. Depending on the application, a user might wish to know that some
  20794. message has been received, or how many messages, or what kinds of
  20795. messages.
  20796.  
  20797. %p Comment
  20798. If automatic notification of received messages is not feasible, allow
  20799. users to check for message arrival by requesting information from their
  20800. general data processing system, without having to access some special
  20801. message handling system for that purpose.  At the least, a user should
  20802. be able to find out how many new messages have arrived.
  20803.  
  20804. %p Reference
  20805. Bruder Moy Mueller Danielson 1981
  20806. %g "5.5/5      Nondisruptive Notification of Arriving Messages"
  20807.  
  20808. %p
  20809. For messages arriving while a user is logged on to a system, ensure that
  20810. notification of message arrival will not interfere with that user's
  20811. other information handling tasks.
  20812.  
  20813. %p Comment
  20814. An incoming message should not preempt a user's working display.
  20815. Instead, the computer might indicate message arrival by an advisory
  20816. notice in a portion of the display reserved for that purpose.
  20817.  
  20818. %p Comment
  20819. Review and disposition of received messages, like other transactions,
  20820. should generally require explicit actions by a user.  When an incoming
  20821. message implies an urgent need for user attention, notify the user.
  20822.  
  20823. %p Reference
  20824. EG 7.1
  20825.  
  20826. %p "See also"
  20827. 5.0/6 6.4/5
  20828. %g "5.5/6      Indicating Priority of Received Messages"
  20829.  
  20830. %p
  20831. In applications where incoming messages will have different degrees of
  20832. urgency, i.e., different implications for action, notify recipients of
  20833. message priority and/or other pertinent information.
  20834.  
  20835. %p Comment
  20836. If incoming messages are queued so that their arrival will not interrupt
  20837. current user tasks, which is a good idea, then users should be advised
  20838. when an interruption is in fact necessary.
  20839.  
  20840. %p Comment
  20841. Notification of urgent messages might be routed to a special area of a
  20842. user's working display for immediate reference, whereas notification of
  20843. routine messages might be deferred, or perhaps routed to a printer for
  20844. more leisurely review at the user's convenience.
  20845.  
  20846. %p "See also"
  20847. 5.3/7
  20848. %g "5.5/7      Filters for Message Notification"
  20849.  
  20850. %p
  20851. Allow users to specify "filters" based on message source, type, or
  20852. content, that will control what notification is provided for incoming
  20853. messages.
  20854.  
  20855. %p Example
  20856. A user might wish the arrival of all messages from a particular source
  20857. to produce a special notification of some sort.
  20858.  
  20859. %p "See also"
  20860. 5.0/7
  20861. %g "5.5/8      Warning of Incompatible Format"
  20862.  
  20863. %p
  20864. If a message (or other data transmission) arrives in a format
  20865. incompatible with system decoding and/or device capabilities, advise the
  20866. intended recipient to take some appropriate action that will not destroy
  20867. the message itself or any other data.
  20868.  
  20869. %p Example
  20870. If the user of an alphanumeric terminal should receive a message that
  20871. includes nondisplayable graphic symbols, then the computer might notify
  20872. the user and offer partial display of the readable portions of the
  20873. message.
  20874.  
  20875. %p Comment
  20876. In some instances a recipient might be able to resolve a format problem
  20877. by changing the device destination specified for a particular message.
  20878.  
  20879. %p Comment
  20880. Failure of message delivery should not disrupt any other work of the
  20881. intended recipient.  For example, the arrival of some message with an
  20882. unrecognized format, or the attempted delivery of a graphic message at a
  20883. text-only terminal, should not cause any system failure.  Such an
  20884. undeliverable message might be saved in a system file for subsequent
  20885. disposition.  Or that message (or some notification) might be returned
  20886. to its sender.
  20887.  
  20888. %p "See also"
  20889. 5.4/6 6.0/4 6.0/17
  20890. %g "5.5/9      Information about Queued Messages"
  20891.  
  20892. %p
  20893. Allow users to review summary information about the type, source, and
  20894. priority of queued incoming messages.
  20895.  
  20896. %p "Comment"
  20897. In some applications, a user might need notification only of urgent
  20898. messages, and rely on periodic review to deal with routine messages.
  20899. Summary information about queued incoming messages should help guide
  20900. message review.
  20901.  
  20902. %p "Reference"
  20903. Williamson Rohlfs 1981
  20904. %g "5.5/10     +  Indicate Message Size"
  20905.  
  20906. %p
  20907. Include in summary listings and at the beginning of each message some
  20908. indication of message size.
  20909.  
  20910. %p "Example"
  20911. Message size might be calculated as number of lines, and indicated in
  20912. its header.
  20913. %g "5.5/11     +  Specifying Format for Message Listings"
  20914.  
  20915. %p
  20916. Provide some means for users to specify the order in which header fields
  20917. are displayed in messages and in message summary listings.
  20918.  
  20919. %p "Example"
  20920. For different purposes, a user might wish to display messages with the
  20921. topic on the first line, or with the sender's name on the first line.
  20922.  
  20923. %p "Example"
  20924. A user might wish to scan a summary list of messages grouped by topic,
  20925. or by sender, or by priority, etc.
  20926.  
  20927. %p "Comment"
  20928. Users should be able to assign names to various stored header format
  20929. specifications of this kind, so that a particular desired header format
  20930. might be invoked by name.
  20931. %g "5.5/12     User Review of Messages in Queue"
  20932.  
  20933. %p
  20934. Provide convenient means for user review of received messages in their
  20935. incoming queue, without necessarily requiring any further disposition
  20936. action, i.e., without removal from the queue.
  20937.  
  20938. %p "Exception"
  20939. In some operational applications, user review of critical messages might
  20940. be accompanied by a requirement for further actions to ensure timely
  20941. response.
  20942.  
  20943. %p "Comment"
  20944. Rapid review of queued messages will permit a user to exercise judgment
  20945. as to which require immediate attention, and/or which can be dealt with
  20946. quickly.  Other messages may be left in the queue for more leisurely
  20947. disposition later.
  20948.  
  20949. %p "Comment"
  20950. A user with limited facilities for data storage might not be able to
  20951. accept for immediate filing all of the messages received during a
  20952. prolonged absence from the system.  In such circumstances it seems clear
  20953. that the user should be able to review received messages before deciding
  20954. which to store in personal files.
  20955. %g "5.5/13     Filters for Ordering Message Review"
  20956.  
  20957. %p
  20958. Allow users to specify "filters" based on message source, type, or
  20959. content, that can control the order in which received messages will be
  20960. read.
  20961.  
  20962. %p "Comment"
  20963. The aim here is to facilitate flexible user control over the review of
  20964. incoming messages.  In particular, a user should not be constrained to
  20965. read incoming messages in the order in which they are received.
  20966.  
  20967. %p "See also"
  20968. 5.0/7
  20969. %g "5.5/14     Message Review Compatible with Data Display"
  20970.  
  20971. %p
  20972. Ensure that computer aids and procedures for reviewing messages are
  20973. consistent with other system capabilities for general data display.
  20974.  
  20975. %p "Comment"
  20976. Users should not have to learn procedures for reviewing messages that
  20977. are different from general data display, particularly if those
  20978. procedures might involve conflicting habits.  Users should be able to
  20979. page or scroll through a summary list of messages, or a particular
  20980. displayed message, just as they might manipulate any other data display.
  20981. Users should be able to select items from a displayed summary list of
  20982. messages, just as they might select items from a displayed menu of
  20983. control options.
  20984.  
  20985. %p "See also"
  20986. 5.0/3 2
  20987. %g "5.5/15     Labeling Received Messages"
  20988.  
  20989. %p
  20990. Allow users to assign their own names and other descriptors to received
  20991. messages.
  20992.  
  20993. %p "Comment"
  20994. A user might wish to file received messages for future reference.
  20995. User-assigned labels could help identify a stored message and
  20996. distinguish it from other filed messages.
  20997.  
  20998. %p "Comment"
  20999. In the absence of labeling by a recipient, the computer might assign by
  21000. default whatever descriptors have been provided by the message sender.
  21001. %g "5.5/16     Annotating Received Messages"
  21002.  
  21003. %p
  21004. Allow users to append notes to a received message, and ensure that such
  21005. annotation will be displayed so that it will be distinct from the
  21006. message itself.
  21007.  
  21008. %p "Comment"
  21009. In most applications, users should not be allowed to make changes in
  21010. received messages.  Any such changes would simply provide too much
  21011. chance for resulting confusion.  But users should be able to append,
  21012. file, and display in some distinctively separate form, their own
  21013. comments about received messages.  If changes are desired in a message
  21014. itself, then its recipient might make a copy of that message (with
  21015. appropriate change of its header information) and then edit that copy.
  21016. %g "5.5/17     Filters for Message Filing"
  21017.  
  21018. %p
  21019. Allow users to specify "filters" based on message source, type, or
  21020. content, that will control how messages should be filed.
  21021.  
  21022. %p "Example"
  21023. A user might want to file in a single "folder" all messages about a
  21024. particular topic.
  21025.  
  21026. %p "See also"
  21027. 5.0/9
  21028. %g "5.5/18     Discarding Messages"
  21029.  
  21030. %p
  21031. Allow users to discard unwanted messages without filing them, or even
  21032. without reading them in applications where "junk mail" may be received.
  21033.  
  21034. %p "Comment"
  21035. Discarding messages, like other user actions, should be reversible.
  21036. That is to say, a discarded message should be filed temporarily in some
  21037. "wastebasket" from which it could later be retrieved if the user has not
  21038. yet left the system.
  21039.  
  21040. %p "Reference"
  21041. Williamson Rohlfs 1981
  21042. %a "5.6    Design Change"
  21043.  
  21044. %p
  21045. Design change of software supporting data transmission may be needed to
  21046. meet changing operational requirements.
  21047. %g "5.6/1      Flexible Design for Data Transmission"
  21048.  
  21049. %p
  21050. When data transmission requirements may change, which is often the case,
  21051. provide some means for users (or a system administrator) to make
  21052. necessary changes to transmission functions.
  21053.  
  21054. %p "Comment"
  21055. Data transmission functions that may need to be changed include those
  21056. represented in these guidelines, namely, changes in message preparation
  21057. and addressing, the initiation and control of message transmission, and
  21058. the handling of received messages.
  21059.  
  21060. %p "Comment"
  21061. Many of the preceding guidelines in this section imply a need for design
  21062. flexibility.  Much of that needed flexibility can be provided in initial
  21063. interface design.  Some guidelines, however, suggest a possible need for
  21064. subsequent design change, and those guidelines are cited below.
  21065.  
  21066. %p "See also"
  21067. 5.0/7 5.1/2 5.2/1 5.3/4 5.4/3 5.5/1
  21068. %s "6 DATA PROTECTION"
  21069.  
  21070. %p
  21071. Data protection attempts to ensure the security of computer-processed
  21072. data from unauthorized access, from destructive user actions, and from
  21073. computer failure.  With increasing use of computer-based information
  21074. systems, there has been increasing concern for the protection of
  21075. computer-processed data.  Data protection is closely allied with other
  21076. functional areas.  The design of data entry, data display, sequence
  21077. control, user guidance, and data transmission functions can potentially
  21078. affect the security of the data being processed.  In many applications,
  21079. however, questions of data protection require explicit consideration in
  21080. their own right.
  21081.  
  21082. %p
  21083. Data protection must deal with two general problems.  First, data must
  21084. be protected from unauthorized access and tampering.  This is the
  21085. problem of data security.  Second, data must be protected from errors by
  21086. authorized system users, in effect to protect users from their own
  21087. mistakes.  This is the problem of error prevention.
  21088.  
  21089. %p
  21090. Design techniques to achieve data security and to prevent user errors
  21091. are necessarily different, but for both purposes the designer must
  21092. resolve a fundamental dilemma.  How can the user interface be designed
  21093. to make correct, legitimate transactions easy to accomplish, while
  21094. making mistaken or unauthorized transactions difficult?  In each system
  21095. application, a balance must be struck between these fundamentally
  21096. conflicting design objectives.
  21097.  
  21098. %p
  21099. Concern for data security will take different forms in different system
  21100. applications.  Individual users may be concerned with personal privacy,
  21101. and wish to limit access to private data files.  Corporate organizations
  21102. may seek to protect data related to proprietary interests.  Military
  21103. agencies may be responsible for safeguarding data critical to national
  21104. security.
  21105.  
  21106. %p
  21107. The mechanisms for achieving security will vary accordingly.  Special
  21108. passwords might be required to access private files.  Special log-on
  21109. procedures might be required to assure positive identification of
  21110. authorized users, with records kept of file access and data changes.
  21111. Special confirmation codes might be required to validate critical
  21112. commands.
  21113.  
  21114. %p
  21115. At the extreme, measures instituted to protect data security may be so
  21116. stringent that they handicap normal system operations.  Imagine a system
  21117. in which security measures are designed so that every command must be
  21118. accompanied by a continuously changing validation code which a user has
  21119. to remember.  Imagine further that when the user makes a code error,
  21120. which can easily happen under stress, the command sequence is
  21121. interrupted to re-initiate a user identification procedure.  In such a
  21122. system, there seems little doubt that security measures will reduce
  21123. operational effectiveness.
  21124.  
  21125. %p
  21126. In recent years, computer security measures have concentrated
  21127. increasingly on automatic means for data protection, implemented by
  21128. physical protection of computing equipment and by tamper-proof software.
  21129. Automation of security makes good sense.  If data security can be
  21130. assured by such means, there will be less need to rely on fallible human
  21131. procedures.  And, of course, user interface design will be that much
  21132. easier.
  21133.  
  21134. %p
  21135. It seems probable, however, that absolute data security can never be
  21136. attained in any operational information system.  There will always be
  21137. some reliance on human judgment, as for example in the review and
  21138. release of data transmissions, which will leave systems in some degree
  21139. vulnerable to human error.  Thus a continuing concern in user interface
  21140. design must be to reduce the likelihood of errors, and to mitigate the
  21141. consequences of those errors that do occur.
  21142.  
  21143. %p
  21144. Like data security, error prevention is a relative matter.  An interface
  21145. designer cannot reasonably expect to prevent all errors, but frequent
  21146. user errors may indicate a need for design improvement.  Data protection
  21147. functions must be designed 1) to minimize the entry of wrong data into a
  21148. system; 2) to minimize mistakes that make wrong changes to stored data;
  21149. and 3) to minimize the loss of stored data.  In considering these
  21150. objectives, prevention of catastrophic data loss is vital for effective
  21151. system operation, but all three aspects of data protection are
  21152. important.
  21153.  
  21154. %p
  21155. Data entry and change transactions are, of course, frequently performed
  21156. by system users.  Careful interface design can help prevent many errors
  21157. in those transactions, by providing automatic data validation and
  21158. reversible control actions, as described in previous sections of these
  21159. design guidelines.  But the designer needs a good deal of ingenuity in
  21160. applying guidelines within the context of each data handling job.
  21161.  
  21162. %p
  21163. The use of job context for computer validation of user inputs is best
  21164. illustrated by example.  As one such example (Bertoni, 1982), a local
  21165. newspaper published the following discussion of data entry error
  21166. prevention, suggesting ways to reduce billing errors:
  21167.     
  21168.      . . . designers of applications systems have resorted to a number
  21169.      of strategies to minimize ill effects and keep the errors from
  21170.      escaping into the world at large.  The commonest of these is the
  21171.      process known as 'verification,' which in its simplest form, means
  21172.      instructing the system to respond to input with the figurative
  21173.      question, 'Do you really mean that?'
  21174.     
  21175.      That is, when a data[-entry] operator enters an amount, or name, or
  21176.      serial number -- the system draws attention to the just-typed item
  21177.      (by causing it to flash on-screen, for example).  The operator then
  21178.      is supposed to take a good hard look at the item and press a
  21179.      verification key if the data is correct.
  21180.     
  21181.      Better yet, what you need is for the system to do some checking on
  21182.      its own . . . to a certain extent, it can use internal evidence
  21183.      (and the percentages) to perform its own verification.
  21184.     
  21185.      Here's a simple strategy that, though currently used to some
  21186.      extent, will some day become universal, one hopes.  It's good
  21187.      because it relies on an understanding of human habits.
  21188.     
  21189.      Let's take billing again.  Most times, when you pay a bill, you pay
  21190.      either the minimum amount due or the full balance.  Suppose we
  21191.      instruct the machine to compare the operators entry of 'amount
  21192.      paid' with the minimum due and with the full balance for that
  21193.      particular account.  If the entry is equal to one or the other,
  21194.      pass it on through.  It's very likely correct.  If there's a
  21195.      discrepancy, discontinue entry and signal the operator to check the
  21196.      amount.
  21197.     
  21198.      And it does so optimally: the right ones pass through with minimum
  21199.      slow down, the potential wrong ones get the attention.
  21200.  
  21201. %p
  21202. Similar reasoning might be applied in other data entry jobs.  Once data
  21203. are correctly entered into a computer, the emphasis shifts to prevention
  21204. of unwanted changes to the data, including the extreme form of change
  21205. represented by data loss.  Stored data must be protected from unreliable
  21206. computer operation and also from system users.  Advances in computer
  21207. technology, with less volatile memory, automatic archiving to back-up
  21208. data stores, and redundant processing facilities, have significantly
  21209. reduced the hazard of data loss resulting from machine failure.  What
  21210. remains is to reduce the hazard of human failure.
  21211.  
  21212. %p
  21213. In the interface design guidelines presented here, the primary concern
  21214. is for the general users of computer systems.  But data protection from
  21215. human error requires consideration in other aspects of system design and
  21216. operation.  In particular, the expert operators who maintain and run the
  21217. computer system must assume a large responsibility for data protection.
  21218.  
  21219. %p
  21220. Consider the following example.  In one computer center, an operator
  21221. must enter a command "$U" to update an archive tape by writing a new
  21222. file at the end of the current record, while the command "$O" will
  21223. overwrite the new file at the beginning of the tape so that all previous
  21224. records are lost.  A difference of one keystroke could obliterate the
  21225. records of years of previous work.  Has that ever happened?  Yes, it
  21226. has.  If an error can happen, then it probably will happen.
  21227.  
  21228. %p
  21229. In that respect, expert computer operators are just like the rest of us.
  21230. When tired, hurried, or distracted, they can make mistakes.  And not all
  21231. computer operators are experts.  Some are still learning their jobs, and
  21232. so may be even more error-prone.  Careful design and supervision of
  21233. operating procedures is needed to minimize data processing errors.
  21234.  
  21235. %p
  21236. If data loss from machine failure and data loss from faulty system
  21237. operation are minimized through careful design, then the most serious
  21238. threat to data protection is the system user.  This is especially true
  21239. in applications where the user must participate directly in establishing
  21240. and maintaining stored data files.  Means must be found to protect files
  21241. from inadvertent erasure.
  21242.  
  21243. %p
  21244. Some difficult design trade-offs may be required.  As an example,
  21245. consider a possible design guideline that might say that a user should
  21246. not be allowed to change or delete data without first displaying the
  21247. data.  In a file deletion transaction it would usually be impractical to
  21248. force a user to review the entire file.  One might imagine displaying
  21249. just the first page of a file nominated for deletion, and requiring the
  21250. user to CONFIRM the DELETE action.  But even that would be disruptive in
  21251. many circumstances.
  21252.  
  21253. %p
  21254. As a fall-back position, we might recommend that when a file has been
  21255. nominated for deletion enough descriptive information should be
  21256. displayed about that file so that a reasonably attentive user can
  21257. determine whether that file should be deleted.  The issue is how to
  21258. ensure that the user intends to do what s/he is actually doing.
  21259.  
  21260. %p
  21261. When a user selects a file for deletion, at least as much information
  21262. should be provided as when a user selects a file for display and
  21263. editing.  Thus, if an on-line index of displayable files contains a line
  21264. of information about each one, perhaps including name, description,
  21265. size, and currency (date last changed), then such information would also
  21266. be appropriate in prompting the CONFIRM action for file deletion:
  21267.      | CONFIRM DELETION of the following file:                |
  21268.      | USIplan, 5-year plan for USI effort, 3 pages, 11-25-83 |
  21269.  
  21270. %p
  21271. Any required confirmation procedure, of course, will tend to slow file
  21272. deletion, in accord with the general guideline that destructive actions
  21273. should be made difficult.  Where is the trade-off when destructive
  21274. actions are also frequent?  What about the user who wishes to scan a
  21275. file index and delete a series of files?  Must each separate DELETE
  21276. action be confirmed?  Unless DELETE actions are easily reversible, the
  21277. answer for most users is that an explicit confirmation probably should
  21278. be required for each file deletion.  When a user must undertake a series
  21279. of file deletions, the repetitive nature of the task may increase the
  21280. risk of inadvertent deletion, and so increase the need for CONFIRM
  21281. protection.
  21282.  
  21283. %p
  21284. Explicit DELETE commands are not the only actions that can result in
  21285. accidental file erasure.  In some systems, it is possible to overwrite a
  21286. stored file with whatever data are currently on-line, in "working"
  21287. storage.  Used properly, this capability permits desired editing and
  21288. replacement of files.  A user might call out a file, make changes to it,
  21289. and then store it again under its own name.
  21290.  
  21291. %p
  21292. Used improperly, this capability risks file deletion.  A user might call
  21293. out and edit a file, but then absent-mindedly store it with the name of
  21294. another file, thus overwriting whatever data had been previously stored
  21295. in that other file.  Such a hazard requires just as much protection as
  21296. an outright DELETE action, or perhaps even more since the danger is more
  21297. subtle.  In effect, an explicit CONFIRM action should be required
  21298. whenever a user attempts to store a data file under the name of any
  21299. other file already stored in the system.  The prompt for confirmation
  21300. might read something like this:
  21301.      | CONFIRM OVERWRITING the current file of this name:    |
  21302.      | SCG, sequence control guidelines, 45 pages, 10-08-83  |
  21303.  
  21304. %p
  21305. It is interesting that many systems do not require this kind of
  21306. selective confirmation.  One well-known system requires user
  21307. confirmation of every overwrite action, even in the common case where an
  21308. edited file is being stored by the same name to replace its previous
  21309. version.  Thus the CONFIRM action itself becomes routine, and no longer
  21310. provides any significant protection to a forgetful user.  Another system
  21311. avoids the problem by the rigid expedient of allowing a user to store an
  21312. edited file only under its last previous name, which is safe but
  21313. sometimes inconvenient.
  21314.  
  21315. %p
  21316. To some extent a wary user can protect her/himself by careful selection
  21317. of file names, trying to ensure that any file name is descriptive of
  21318. file content, and also distinctive in comparison with the names of other
  21319. files.  In practice, that goal is hard to achieve.  Users often work
  21320. with groups of files dealing with different aspects of a common topic.
  21321. For such files, if names are descriptive they will tend to be similar
  21322. rather than distinctive.  If file names are made longer in order to
  21323. become more distinctive, then those longer names may reduce efficiency
  21324. when using file names for storage and retrieval.
  21325.  
  21326. %p
  21327. In systems where there is no effective on-line protection against
  21328. inadvertent file deletion or replacement, either a user must be
  21329. exceedingly careful, or else the system must provide effective off-line
  21330. procedures to recover from archived records an earlier version of an
  21331. accidentally erased file.  Neither alternative is entirely satisfactory.
  21332. Even a careful user will make mistakes.  And archives will not protect a
  21333. user from loss of current work.
  21334.  
  21335. %p
  21336. A better solution can be provided by on-line computer aids to make user
  21337. actions reversible.  In effect, user interface software should be
  21338. designed to permit users who notice unintended deletions to retrieve
  21339. lost files by taking an UNDO action.  Some current systems provide such
  21340. an UNDO capability, permitting users to change their minds and to
  21341. correct their more serious mistakes.
  21342.  
  21343. %p
  21344. There must be, of course, some practical time limit to the reversibility
  21345. of data processing.  A user might be able to UNDO the last previous
  21346. deletion, or perhaps even all deletions made during the current working
  21347. session, but there seems no feasible way to make it easy to undo a
  21348. particular deletion made days ago and now regretted.  Moreover,
  21349. reversibility will not help a user who does not notice that a mistake
  21350. has been made.  So even where an UNDO capability is available, other
  21351. aspects of the user interface must still be carefully designed.
  21352.  
  21353. %p
  21354. The guidelines proposed in the following pages illustrate the range of
  21355. topics to be considered in this area, and the general need for many
  21356. kinds of data protection.  These guidelines draw heavily from
  21357. recommendations already made in previous sections, as indicated by
  21358. extensive cross referencing.  In this new context of data protection,
  21359. some previous guidelines have been slightly reworded, others preserved
  21360. intact.  They are repeated here for the convenience of a designer who
  21361. must review all material pertinent to data protection functions.
  21362.  
  21363. %p
  21364. These guidelines do not resolve the fundamental design dilemma discussed
  21365. above, namely, how to make a system easy to use but hard to misuse.  The
  21366. guidelines do, however, indicate where design decisions must be made.
  21367.  
  21368. %p Objectives
  21369. Effective data security
  21370. Minimal entry of wrong data
  21371. Minimal loss of needed data
  21372. Minimal interference with information handling tasks
  21373. %a "6.0    General"
  21374.  
  21375. %p
  21376. Data protection concerns security from unauthorized use, and potential
  21377. loss from equipment failure and user errors.
  21378. %g "6.0/1      Automated Security Measures"
  21379.  
  21380. %p
  21381. Whenever possible provide automated measures to protect data security,
  21382. relying on computer capabilities rather than on more fallible human
  21383. procedures.
  21384.  
  21385. %p "Comment"
  21386. For protection against unauthorized users, who may be intruders in a
  21387. system, the need for automated security measures is clear.  For
  21388. legitimate users, the need for data protection is to minimize data loss
  21389. resulting from potentially destructive equipment failures and user
  21390. errors.  Even careful, conscientious users will sometimes make mistakes,
  21391. and user interface logic should be designed to help mitigate the
  21392. consequences of those mistakes.
  21393. %g "6.0/2      Warning of Threats to Security"
  21394.  
  21395. %p
  21396. Provide computer logic that will generate messages and/or alarm signals
  21397. in order to warn users (and system administrators) of potential threats
  21398. to data security, i.e., of attempted intrusion by unauthorized users.
  21399.  
  21400. %p "Comment"
  21401. For protecting data from unauthorized use, it may not be enough merely
  21402. to resist intrusion.  It may also be helpful if the computer can detect
  21403. and report any intrusion attempts.  In the face of persistent intrusion
  21404. attempts, it may be desirable to institute countermeasures of some sort,
  21405. such as changing user passwords or establishing other more stringent
  21406. user authentication procedures.
  21407.  
  21408. %p "Reference"
  21409. EG 2.1.3
  21410. CSC-STD-002-85
  21411.  
  21412. %p "See also"
  21413. 6.1/6
  21414. %g "6.0/3      Protection from Computer Failure"
  21415.  
  21416. %p
  21417. Provide automatic measures to minimize data loss from computer failure.
  21418.  
  21419. %p "Example"
  21420. Depending upon the criticality of the application, different protective
  21421. measures may be justified, including periodic automatic archiving of
  21422. data files, maintenance of transaction logs for reconstruction of recent
  21423. data changes, or even provision of parallel "backup" computing
  21424. facilities.
  21425.  
  21426. %p "Comment"
  21427. An automatic capability is needed because users cannot be relied upon to
  21428. remember to take necessary protective measures.
  21429.  
  21430. %p "Comment"
  21431. Though not strictly a feature of user interface design, reliable data
  21432. handling by the computer will do much to maintain user confidence in the
  21433. system.  Conversely, data loss resulting from computer failure will
  21434. weaken user confidence, and reduce user acceptance where system use is
  21435. optional.
  21436.  
  21437. %p "Reference"
  21438. MS 5.15.4.6.3
  21439. %g "6.0/4      Protection from Interference by Other Users"
  21440.  
  21441. %p
  21442. Protect data from inadvertent loss caused by the actions of other users.
  21443.  
  21444. %p "Comment"
  21445. In systems where information handling requires the coordinated action of
  21446. multiple users, it may be appropriate that one user can change data that
  21447. will be used by others.  But when multiple users will act independently,
  21448. then care should be taken to ensure that they will not interfere with
  21449. one another.  Extensive system testing under conditions of multiple use
  21450. may be needed to determine that unwanted interactions do not occur.
  21451.  
  21452. %p "Comment"
  21453. When one user's actions can be interrupted by another user, as in
  21454. defined emergency situations, that interruption should be temporary and
  21455. nondestructive.  The interrupted user should subsequently be able to
  21456. resume operation at the point of interruption without data loss.
  21457.  
  21458. %p "Reference"
  21459. MS 5.15.4.6.5
  21460.  
  21461. %p "See also"
  21462. 3.0/22
  21463. %g "6.0/5      Protection from Interrupts"
  21464.  
  21465. %p
  21466. When a proposed user action will interrupt a current transaction
  21467. sequence, provide automatic means to prevent data loss; if potential
  21468. data loss cannot be prevented, warn the user and do not interrupt
  21469. without user confirmation.
  21470.  
  21471. %p "Example"
  21472. If a user should interrupt a series of changes to a data file, then the
  21473. computer might automatically save both the original and the changed
  21474. versions of that file for subsequent user review and disposition.
  21475.  
  21476. %p "Comment"
  21477. Some interrupt actions such as BACKUP, CANCEL, or REVIEW, will by their
  21478. definition cause only limited data change, and so need no special
  21479. protection.  However, if an interrupt action may cause extensive data
  21480. change (e.g., RESTART, LOG-OFF), then require the user to confirm that
  21481. action before processing.
  21482.  
  21483. %p "Reference"
  21484. BB 4.7
  21485.  
  21486. %p "See also"
  21487. 3.3/6
  21488. %g "6.0/6      Segregating Real from Simulated Data"
  21489.  
  21490. %p
  21491. When simulated data and system functions are provided (perhaps for user
  21492. training), ensure that real data are protected and real system use is
  21493. clearly distinguished from simulated operations.
  21494.  
  21495. %p "Reference"
  21496. BB 6.4
  21497.  
  21498. %p "See also"
  21499. 4.4/30 6.3/21
  21500. %g "6.0/7      Consistent Procedures"
  21501.  
  21502. %p
  21503. Provide clear and consistent procedures for different types of
  21504. transactions, particularly those involving data entry, change and
  21505. deletion, and error correction.
  21506.  
  21507. %p "Comment"
  21508. Consistent procedures will help users develop consistent habits of
  21509. operation, reduce the likelihood of user confusion and error, and are
  21510. especially important for any transaction that risks data loss.
  21511.  
  21512. %p "Reference"
  21513. BB 1.2.1 2.1.5
  21514.  
  21515. %p "See also"
  21516. 4.0/1
  21517. %g "6.0/8      Appropriate Ease or Difficulty of User Actions"
  21518.  
  21519. %p
  21520. Ensure that the ease of user actions will match desired ends; make
  21521. frequent or urgent actions easy to take, but make potentially
  21522. destructive actions sufficiently difficult that they will require extra
  21523. user attention.
  21524. %g "6.0/9      Control by Explicit User Action"
  21525.  
  21526. %p
  21527. Ensure that the computer changes data only as a result of explicit
  21528. actions by a user, and does not initiate changes automatically.
  21529.  
  21530. %p "Exception"
  21531. In an operations monitoring situation, a computer might accept data
  21532. changes automatically from external sources (sensors), if appropriate
  21533. software is incorporated to ensure validation and protection of the
  21534. input data.
  21535.  
  21536. %p "Exception"
  21537. A computer might perform cross-file updating automatically, following
  21538. data change by a user.
  21539.  
  21540. %p "Comment"
  21541. The aim here is to preserve clarity of system operation for the user.
  21542. In effect, a computer should not initiate data changes unless requested
  21543. (and possibly confirmed) by a user.  Well-intentioned interface
  21544. designers are sometimes tempted to contrive "smart shortcuts" in which
  21545. one user action might automatically produce several other associated
  21546. data changes, perhaps saving the user a few keystrokes in special cases.
  21547. If such shortcuts cannot be made standard procedures, they will tend to
  21548. confuse users and thus pose a potential threat to data protection.
  21549.  
  21550. %p "See also"
  21551. 1.0/9 1.1/4 3.0/5 3.1.3/6 3.5/6 4.0/2 5.0/6
  21552. %g "6.0/10     User Review and Editing of Entries"
  21553.  
  21554. %p
  21555. For all inputs, whether data entries or commands, allow users to edit
  21556. composed material before requesting computer processing.
  21557.  
  21558. %p "Comment"
  21559. Input editing will allow users to correct many errors before computer
  21560. processing.  When an error is detected, a user will be able to fix it by
  21561. editing, i.e., without having to retype any correct items (which might
  21562. introduce further errors).
  21563.  
  21564. %p "Reference"
  21565. BB 5.2.1
  21566. EG 5.4
  21567. Neal Emmons 1984
  21568.  
  21569. %p "See also"
  21570. 1.4/2 3.5/2 4.3/15
  21571. %g "6.0/11     Disabling Unneeded Controls"
  21572.  
  21573. %p
  21574. When function keys and other devices are not needed for current control
  21575. entry, and especially when they may have destructive effects, disable
  21576. them temporarily under software control so that they cannot be activated
  21577. by a user.
  21578.  
  21579. %p "Comment"
  21580. Some means should also be provided to help users distinguish currently
  21581. active from disabled controls, such as brightening (active) or dimming
  21582. (disabled) their associated labels.  If labeling is adequate, then user
  21583. selection of a disabled control need produce no response.  If adequate
  21584. labeling cannot be provided, then user selection of a disabled control
  21585. should produce an advisory message that the control is not currently
  21586. active.
  21587.  
  21588. %p "See also"
  21589. 3.1.4/12 3.2/10
  21590. %g "6.0/12     +  Protecting Physical Controls"
  21591.  
  21592. %p
  21593. If activation of function keys (and other control devices) may result in
  21594. data loss, locate them separately and/or physically protect them to
  21595. reduce the likelihood of accidental activation.
  21596.  
  21597. %p "Reference"
  21598. MS 5.15.4.1.2
  21599.  
  21600. %p "See also"
  21601. 3.1.4/18
  21602. %g "6.0/13     Safe Defaults"
  21603.  
  21604. %p
  21605. If automatic defaults are provided for control entries, ensure that
  21606. those defaults will protect against data loss, or at least not
  21607. contribute to the risk of data loss.
  21608.  
  21609. %p "Example"
  21610. When requesting a printout of filed data, one control option might be to
  21611. delete that file after printing; the default value for such a
  21612. destructive option should automatically be set to NO whenever the
  21613. printing options are presented to a user for selection.
  21614. %g "6.0/14     Safe Response to Random Inputs"
  21615.  
  21616. %p
  21617. Ensure that user interface software will deal appropriately with all
  21618. possible user errors and random inputs, without introducing unwanted
  21619. data change.
  21620.  
  21621. %p "Comment"
  21622. The interface designer must try to anticipate every possible user
  21623. action, including random keying and perhaps even malicious
  21624. experimentation.  The user interface should be "bullet-proofed" so that
  21625. an unrecognized entry at any point will produce only an error message
  21626. and will not change stored data.
  21627.  
  21628. %p "Reference"
  21629. BB 5.1
  21630. MS 5.15.2.1.2
  21631. PR 4.12.4.5
  21632.  
  21633. %p "See also"
  21634. 3.5/1
  21635. %g "6.0/15     Explicit Action to Select Destructive Modes"
  21636.  
  21637. %p
  21638. Require users to take explicit action to select any operational mode
  21639. that might result in data loss; the computer should not establish
  21640. destructive modes automatically.
  21641.  
  21642. %p "Example"
  21643. In text editing, if a user takes a DELETE action, that in itself should
  21644. not establish a continuing DELETE mode.
  21645.  
  21646. %p "Comment"
  21647. In many applications, it may be better not to provide any destructive
  21648. mode.  Instead of providing a DELETE mode, for example, require that
  21649. DELETE be a discrete action subject to confirmation by the user when the
  21650. requested data deletion is extensive.  User interface design must
  21651. determine the proper balance here between data protection and
  21652. operational efficiency.
  21653.  
  21654. %p "See also"
  21655. 1.3/32 4.2/8
  21656. %g "6.0/16     Feedback for Mode Selection"
  21657.  
  21658. %p
  21659. When the result of user actions will be contingent upon prior selection
  21660. among differently defined operational modes, provide a continuous
  21661. indication of the current mode, particularly when user inputs in that
  21662. mode might result in data loss.
  21663.  
  21664. %p "Example"
  21665. If a DELETE mode is being used to edit displayed data, some indication
  21666. of that mode should be continuously displayed to the user.
  21667.  
  21668. %p "Comment"
  21669. A user cannot be relied upon to remember prior actions.  Thus any action
  21670. whose results are contingent upon previous actions can represent a
  21671. potential threat to data protection.
  21672.  
  21673. %p "Reference"
  21674. BB 4.3.4
  21675. MS 5.15.5.5
  21676.  
  21677. %p "See also"
  21678. 4.2/8
  21679. %g "6.0/17     Warning Users of Potential Data Loss"
  21680.  
  21681. %p
  21682. For conditions which may require special user attention to protect
  21683. against data loss, provide an explicit alarm and/or warning message to
  21684. prompt appropriate user action.
  21685.  
  21686. %p "See also"
  21687. 3.5/8 4.3/14 4.3/19
  21688. %g "6.0/18     User Confirmation of Destructive Actions"
  21689.  
  21690. %p
  21691. Require users to take an explicit extra action to CONFIRM a potentially
  21692. destructive control entry before it is accepted by the computer for
  21693. execution.
  21694.  
  21695. %p "Reference"
  21696. BB 5.6
  21697. MS 5.15.7.5.b
  21698. Foley Wallace 1974
  21699.  
  21700. %p "See also"
  21701. 1.3/32 1.3/34 3.1.5/25 3.5/7 4.3/18
  21702. %g "6.0/19     +  Distinctive CONFIRM Action"
  21703.  
  21704. %p
  21705. Provide a distinctively labeled CONFIRM function key for user
  21706. confirmation of potentially destructive actions.
  21707.  
  21708. %p "See also"
  21709. 3.5/9
  21710. %g "6.0/20     +  Separate CONFIRM Action"
  21711.  
  21712. %p
  21713. Require users to wait for computer prompting in order to CONFIRM a
  21714. potentially destructive action, so that the confirmation will constitute
  21715. a second, separate action.
  21716.  
  21717. %p "Example"
  21718. | Enter next command|  D__                        |
  21719. |                                                 |
  21720. | If deleted, all data in this file will be lost. |
  21721. | Enter YES to confirm deletion:  ______          |
  21722.  
  21723. %p "Comment"
  21724. No single user action should cause significant change or loss of stored
  21725. data, such as deleting an entire data file.  Requiring users to strike
  21726. two keys, such as DELETE followed immediately by CONFIRM, is not
  21727. sufficient protection; such double keying may become habitual.  The
  21728. DELETE and CONFIRM actions must be separated by some computer response
  21729. to help ensure user attention.
  21730.  
  21731. %p "Reference"
  21732. BB 5.6
  21733. EG 4.2.8
  21734. MS 5.15.7.4 5.15.7.5.b
  21735.  
  21736. %p "See also"
  21737. 3.5/7 4.3/18
  21738. %g "6.0/21     Reversible Control Actions (UNDO)"
  21739.  
  21740. %p
  21741. Allow users to UNDO an immediately preceding control action that may
  21742. have caused an unintended data loss.
  21743.  
  21744. %p "Comment"
  21745. Some sort of an UNDO capability is now commonly provided in interface
  21746. design.  UNDO represents one more level of data protection, when warning
  21747. messages and confirmation procedures fail to prevent error, but can only
  21748. help the user who notices that an error has been made.
  21749.  
  21750. %p "Comment"
  21751. In order to implement an UNDO capability, the computer must maintain a
  21752. record of data changes resulting from current transactions.  How long
  21753. should that record be, i.e., how many transactions should be reversible?
  21754. Should a user be able to reverse all transactions back to the beginning
  21755. of a work session?  Or all transactions within some defined sequence?
  21756. Or just the most recent transaction, as recommended here?  Whatever UNDO
  21757. capability is provided, its limitations should be made clear to users.
  21758.  
  21759. %p "Comment"
  21760. Some designers recommend that UNDO itself should be reversible, so that
  21761. a second UNDO action will do again whatever was just undone.  Such a
  21762. capability implies that UNDO will affect only the last previous
  21763. transaction, whatever that was.  An alternative would be to offer two
  21764. different UNDO options, one to reverse mistaken actions and one to
  21765. reverse mistaken UNDO's, risking considerable user confusion.
  21766.  
  21767. %p "Reference"
  21768. MS 5.15.7.7
  21769. Lee Lochovsky 1983
  21770. Nickerson Pew 1971
  21771. Shneiderman 1982
  21772.  
  21773. %p "See also"
  21774. 1.3/33 3.5/10
  21775. %a "6.1    User Identification"
  21776.  
  21777. %p
  21778. User identification procedures should be as simple as possible,
  21779. consistent with adequate data protection.
  21780. %g "6.1/1      Easy LOG-ON"
  21781.  
  21782. %p
  21783. Design the LOG-ON process and procedures for user identification to be
  21784. as simple as possible consistent with protecting data from unauthorized
  21785. use.
  21786.  
  21787. %p "Comment"
  21788. Some security experts recommend that LOG-ON be made deliberately
  21789. difficult in order to discourage intruders to a system, and even that
  21790. the system not indicate the successful completion of a LOG-ON sequence.
  21791. Such measures will confound legitimate users more often than they will
  21792. impede intruders, and are not recommended here.  A better approach would
  21793. be to keep the initial LOG-ON simple, and then impose some auxiliary
  21794. procedure to authenticate user identity.
  21795.  
  21796. %p "Comment"
  21797. Authentication of user identity is generally not enhanced by requiring a
  21798. user to enter routine data such as terminal, telephone, office or
  21799. project numbers.  In most organizations, those data can readily be
  21800. obtained by other people.  If verification of those data is needed, the
  21801. user should be asked to review and confirm currently stored values in a
  21802. supplementary procedure following LOG-ON.
  21803.  
  21804. %p "Reference"
  21805. MS 5.15.7.5.f
  21806. Haskett 1984
  21807.  
  21808. %p "See also"
  21809. 1.8/7
  21810. %g "6.1/2      +  Prompting LOG-ON"
  21811.  
  21812. %p
  21813. Design the LOG-ON process to provide prompts for all user entries,
  21814. including passwords and/or whatever other data are required to confirm
  21815. user identity and to authorize appropriate data access/change
  21816. privileges.
  21817.  
  21818. %p "Reference"
  21819. EG 4.2.11
  21820. %g "6.1/3      User Choice of Passwords"
  21821.  
  21822. %p
  21823. When passwords are required, allow users to choose their own passwords.
  21824.  
  21825. %p "Comment"
  21826. A password chosen by a user will generally be easier for that individual
  21827. to remember.  User choice is especially helpful when passwords must be
  21828. periodically changed, with changing demands on memory.
  21829.  
  21830. %p "Comment"
  21831. In the interests of security, users should be given some guidelines in
  21832. password selection, so that they will not choose easily guessable
  21833. nicknames or initials, and will choose passwords of sufficient length to
  21834. resist random guessing.
  21835.  
  21836. %p "Comment"
  21837. Some security experts recommend that passwords of nonsense material be
  21838. composed by a computer and arbitrarily assigned to users, in order to
  21839. make it more difficult for intruders to guess a password.  Such measures
  21840. will confound legitimate users more often than they will impede
  21841. intruders, and are not recommended here.  A better approach would be to
  21842. keep passwords memorable, for initial system access, and then impose
  21843. some auxiliary procedure to authenticate user identity in applications
  21844. where passwords are considered insufficient protection.
  21845.  
  21846. %p "Reference"
  21847. CSC-STD-002-85
  21848. Haskett 1984
  21849. %g "6.1/4      +  Changing Passwords"
  21850.  
  21851. %p
  21852. Allow users to change their passwords whenever they choose.
  21853.  
  21854. %p "Comment"
  21855. A user may sometimes suspect that a password has been disclosed, and
  21856. thus wish to change it.
  21857.  
  21858. %p "Comment"
  21859. In addition to optional changes by users, it may also be good security
  21860. practice for a system to enforce password changes for all users at
  21861. periodic intervals.
  21862.  
  21863. %p "Reference"
  21864. CSC-STD-002-85
  21865. %g "6.1/5      +  Private Entry of Passwords"
  21866.  
  21867. %p
  21868. When a password must be entered by a user, ensure that password entry
  21869. can be private; password entries should not be displayed.
  21870.  
  21871. %p "Comment"
  21872. Covert entry of passwords will prevent casual eavesdropping by
  21873. onlookers.  This represents an exception to the general recommendation
  21874. that all entries should be displayed.
  21875.  
  21876. %p "Comment"
  21877. In the interests of security, it might be noted that passwords should
  21878. also not be retained in readable form in computer memory, although this
  21879. is not an issue of user interface design.
  21880.  
  21881. %p "Reference"
  21882. MS 5.15.2.2.3
  21883. CSC-STD-002-85
  21884.  
  21885. %p "See also"
  21886. 1.0/3
  21887. %g "6.1/6      Limiting Unsuccessful LOG-ON Attempts"
  21888.  
  21889. %p
  21890. Impose a maximum limit on the number and rate of unsuccessful LOG-ON
  21891. attempts that will provide a margin for user error while protecting the
  21892. system from persistent attempts at illegitimate access.
  21893.  
  21894. %p "Comment"
  21895. Legitimate users will sometimes have difficulty completing a successful
  21896. LOG-ON, perhaps due to inattention, or a faulty terminal, or faulty
  21897. communications.  Occasional LOG-ON failures of that kind should be
  21898. tolerable to the system, with the user simply invited to try again.
  21899.  
  21900. %p "Comment"
  21901. A record of continuing failure by any particular user to complete
  21902. successful LOG-ON procedures, including password entry and other tests
  21903. of claimed user identity, may indicate persistent intrusion attempts.
  21904. Repeated LOG-ON failures might thus be grounds for denying access to
  21905. that user.  Access might be denied temporarily for some computer-imposed
  21906. time interval, or indefinitely pending review by a system administrator.
  21907. The occasional inconvenience to a legitimate user may be tolerable in
  21908. the interests of increased system security.  Analysis of this tradeoff
  21909. between convenience and security can determine the number and rate of
  21910. LOG-ON failures that will be tolerated in any particular system
  21911. application.
  21912.  
  21913. %p "Reference"
  21914. CSC-STD-002-85
  21915.  
  21916. %p "See also"
  21917. 6.0/2
  21918. %g "6.1/7      Auxiliary Tests to Authenticate User Identity"
  21919.  
  21920. %p
  21921. When system security requires more stringent user identification than is
  21922. provided by password entry, devise auxiliary tests that can authenticate
  21923. user identity without imposing impractical demands on users' memory.
  21924.  
  21925. %p "Comment"
  21926. Various means have been proposed for authenticating user identity,
  21927. including the use of secret algorithms known only to each individual
  21928. user.  If computer-generated cues and user responses can be protected
  21929. cryptographically from eavesdropping, a practical scheme might be to
  21930. require a user to respond to a word association test individually
  21931. devised by that user for this purpose.
  21932.  
  21933. %p "Reference"
  21934. Haskett 1984
  21935. %g "6.1/8      Continuous Recognition of User Identity"
  21936.  
  21937. %p
  21938. Once a user's identity has been authenticated, ensure that whatever data
  21939. access/change privileges are authorized for that user will continue
  21940. throughout a work session.
  21941.  
  21942. %p "Exception"
  21943. In special instances a user's data access/change privileges might
  21944. reasonably change as a result of succeeding transactions, e.g., if
  21945. computer analysis indicated suspicious or otherwise abnormal behavior.
  21946.  
  21947. %p "Exception"
  21948. A user might reasonably be required to repeat procedures for
  21949. authentication of identity when resuming work after some specified
  21950. period of inactivity.
  21951.  
  21952. %p "Comment"
  21953. If an identified user is required to take separate actions to
  21954. authenticate data handling transactions, such as accessing particularly
  21955. sensitive files or issuing particular commands, the efficiency of system
  21956. operations may be degraded.  Where continuous verification of user
  21957. identity seems required for data protection, perhaps some automatic
  21958. means of identification might be devised for that purpose.
  21959.  
  21960. %p "Reference"
  21961. Symons Schweitzer 1984
  21962.  
  21963. %p "See also"
  21964. 3.3/10 6.2/1 6.2/6 6.3/1
  21965. %a "6.2    Data Access"
  21966.  
  21967. %p
  21968. Data access constraints established to exclude unauthorized users should
  21969. not hinder legitimate use of data.
  21970. %g "6.2/1      Single Authorization for Data Access"
  21971.  
  21972. %p
  21973. Establish user authorization for data access at initial LOG-ON; do not
  21974. require further authentication when a user requests display of
  21975. particular data.
  21976.  
  21977. %p "See also"
  21978. 6.1/8
  21979. %g "6.2/2      Displayed Security Classification"
  21980.  
  21981. %p
  21982. When displayed data are classified for security purposes, include a
  21983. prominent indication of security classification in each display.
  21984.  
  21985. %p "Comment"
  21986. This practice will serve to remind users of the need to protect
  21987. classified data, both in access to the display itself and in any further
  21988. dissemination of displayed data.
  21989.  
  21990. %p "Comment"
  21991. In applications where either real or simulated data can be displayed, a
  21992. clear indication of simulated data should be included as part of the
  21993. classification label.
  21994.  
  21995. %p "Comment"
  21996. Where a display includes partitioned "windows" of data from different
  21997. sources, it may be necessary to label security classification separately
  21998. for each window.  Under those conditions, some form of auxiliary coding
  21999. (e.g., color coding) might help users distinguish a window which
  22000. contains data at a high security level.
  22001.  
  22002. %p "See also"
  22003. 6.0/6
  22004. %g "6.2/3      Protecting Displayed Data"
  22005.  
  22006. %p
  22007. When protection of displayed data is essential, maintain computer
  22008. control over the display and do not permit a user to change such
  22009. "read-only" data.
  22010.  
  22011. %p "Comment"
  22012. It is not enough simply to instruct users not to make changes in
  22013. displayed data.  Users may attempt unwanted changes by mistake, or for
  22014. curiosity, or perhaps even to subvert the system.
  22015.  
  22016. %p "Reference"
  22017. EG 3.4.8
  22018. MS 5.15.4.3.12
  22019.  
  22020. %p "See also"
  22021. 2.0/10 6.3/2
  22022. %g "6.2/4      +  Indicating Read-Only Displays"
  22023.  
  22024. %p
  22025. When users are not authorized to change displayed data, indicate that
  22026. "read-only" status on the display.
  22027.  
  22028. %p "Comment"
  22029. In applications where the use of read-only displays is common, then some
  22030. simple cue in the display header may suffice to indicate that status.
  22031. In applications where users can usually make additions and/or
  22032. corrections to displayed data, then any exception to that practice may
  22033. confuse a user and so should be noted more prominently on the display.
  22034.  
  22035. %p "See also"
  22036. 2.0/9
  22037. %g "6.2/5      Protecting Display Formats"
  22038.  
  22039. %p
  22040. Protect display formatting features, such as field labels and
  22041. delimiters, from accidental change by users.
  22042.  
  22043. %p "Comment"
  22044. In many data entry tasks users will be allowed to change data fields but
  22045. should be prevented from making any structural changes to the display.
  22046. In applications where a user may have to create or modify display
  22047. formats, special control actions should be provided for that purpose.
  22048.  
  22049. %p "Reference"
  22050. BB 1.8.13
  22051. MS 5.15.3.1.1.c
  22052.  
  22053. %p "See also"
  22054. 1.1/23 1.4/7
  22055. %g "6.2/6      Display Suppression for Security"
  22056.  
  22057. %p
  22058. When confidential information is displayed at a work station that might
  22059. be viewed by casual onlookers, provide the user with some rapid means of
  22060. temporarily suppressing a current display if its privacy is threatened,
  22061. and then resuming work later.
  22062.  
  22063. %p "Comment"
  22064. Such a capability is sometimes called a "security pause".  For quick
  22065. display suppression a function key might be provided.  To retrieve a
  22066. suppressed display and resume work, a user might be required to make a
  22067. code entry such as a password, in the interests of data protection.
  22068.  
  22069. %p "Comment"
  22070. A suppressed display should not be entirely blank, but should contain an
  22071. appropriate message indicating its current status, e.g.,
  22072.         | Display is temporarily suppressed; |
  22073.         | enter password to resume work.     |
  22074.  
  22075. %p "See also"
  22076. 3.3/8 4.2/1 6.1/8
  22077. %g "6.2/7      Protecting Printed Data"
  22078.  
  22079. %p
  22080. As required for security, establish procedures to control access to
  22081. printed data, rather than simply prohibiting the printing of sensitive
  22082. data.
  22083.  
  22084. %p "Comment"
  22085. User requirements for printed data are often unpredictable, and printing
  22086. restrictions may handicap task performance.  Rather than restrict
  22087. printing, establish appropriate procedures for restricting further
  22088. distribution of data printouts.
  22089.  
  22090. %p "Reference"
  22091. BB 4.4.6
  22092. EG 4.2.14
  22093. MS 5.15.9.2
  22094.  
  22095. %p "See also"
  22096. 2.7.1/11 5.3/13 6.4/7
  22097. %g "6.2/8      Automatic Records of Data Access"
  22098.  
  22099. %p
  22100. When records of data access are necessary, the computer should keep
  22101. those records automatically; do not rely on users to take critical
  22102. record keeping actions.
  22103.  
  22104. %p "Comment"
  22105. Even cooperative, well-intentioned users can forget to keep manual logs
  22106. of data access, and will resent the time and effort required to keep
  22107. such logs.  Subversive users, of course, cannot be expected to provide
  22108. accurate records.
  22109.  
  22110. %p "See also"
  22111. 4.5/4
  22112. %g "6.2/9      Encryption"
  22113.  
  22114. %p
  22115. When sensitive data may be exposed to unauthorized access, provide a
  22116. capability for encrypting those data.
  22117.  
  22118. %p "Comment"
  22119. Potential exposure may be assumed during any external data transmission,
  22120. with encryption imposed routinely by the computer.  For protection of
  22121. data within a shared system, a user might choose to encrypt private
  22122. files to prevent their reading by other people.  In such a case, the
  22123. user must specify a private encryption "key", which will then serve as
  22124. the basis for automatic encryption by the computer.
  22125.  
  22126. %p "See also"
  22127. 6.4/3
  22128. %g "6.2/10     +  Ensuring Reversible Encryption"
  22129.  
  22130. %p
  22131. Ensure that data encryption is reversible, i.e., that encrypted data are
  22132. protected from any change that might prevent successful reversal of
  22133. their encryption.
  22134.  
  22135. %p "See also"
  22136. 6.3/2
  22137. %a "6.3    Data Entry/Change"
  22138.  
  22139. %p
  22140. Data entry constraints may be needed to prevent unauthorized data change
  22141. as well as data loss from user errors.
  22142. %g "6.3/1      Single Authorization for Data Entry/Change"
  22143.  
  22144. %p
  22145. Establish user authorization for data entry/change at initial LOG-ON; do
  22146. not require further authorization when a user attempts particular data
  22147. entry/change transactions.
  22148.  
  22149. %p "See also"
  22150. 6.1/8
  22151. %g "6.3/2      Protection from Data Change"
  22152.  
  22153. %p
  22154. When data must not be changed, maintain computer control over the data,
  22155. and do not permit users to change controlled items.
  22156.  
  22157. %p "Comment"
  22158. It is not enough simply to instruct users not to make changes in
  22159. displayed data.  Users may attempt unwanted changes by mistake, or for
  22160. curiosity, or perhaps even to subvert the system.
  22161.  
  22162. %p "Reference"
  22163. MS 5.15.4.3.12
  22164.  
  22165. %p "See also"
  22166. 1.1/23 1.4/7 2.0/10 6.2/3
  22167. %g "6.3/3      Data Entry/Change Transaction Records"
  22168.  
  22169. %p
  22170. In situations where unauthorized data changes may be possible, allow
  22171. users (or a system administrator) to request a record of data
  22172. entry/change transactions.
  22173.  
  22174. %p "Comment"
  22175. Transaction records might be maintained for purposes of user guidance as
  22176. well as for data protection, as recommended elsewhere.
  22177.  
  22178. %p "See also"
  22179. 3.4/3 4.4/22 4.5/3
  22180. %g "6.3/4      Simple Procedures"
  22181.  
  22182. %p
  22183. Make procedures for data entry/change as simple as possible by following
  22184. guidelines for the design of data entry functions.
  22185.  
  22186. %p "Example"
  22187. Allow users to enter short rather than long items, do not require users
  22188. to enter leading zeros or count blanks, etc.
  22189.  
  22190. %p "Comment"
  22191. Simple procedures will help ensure accuracy in data entry/change
  22192. transactions.
  22193.  
  22194. %p "See also"
  22195. 1
  22196. %g "6.3/5      Explicit User Actions"
  22197.  
  22198. %p
  22199. Require users to take some explicit ENTER action to accomplish data
  22200. entry/change transactions; data change should not occur as a possibly
  22201. unrecognized side effect of other actions.
  22202.  
  22203. %p "Example"
  22204. A user should be able to key data into a displayed form but not change
  22205. stored data unless some explicit ENTER action is taken.
  22206.  
  22207. %p "Example"
  22208. A user should be able to point with a lightpen at a displayed item but
  22209. not change that item unless some further action is taken.
  22210.  
  22211. %p "Exception"
  22212. In some applications it will be desirable to provide automatic
  22213. cross-file updating of changed data, or generation of routine, redundant
  22214. or derived data, without requiring explicit action by a user.
  22215.  
  22216. %p "Comment"
  22217. Explicit actions will help direct user attention to data entry/change,
  22218. and reduce the likelihood of thoughtless errors.
  22219.  
  22220. %p "Reference"
  22221. MS 5.15.2.1.4
  22222.  
  22223. %p "See also"
  22224. 1.0/9 1.1/4 3.0/5 3.1.3/6 4.0/2 6.0/9
  22225. %g "6.3/6      +  Single Entry of Related Data"
  22226.  
  22227. %p
  22228. Allow users to enter logically related items, as in a form-filling
  22229. dialogue, with a single, explicit action at the end of the sequence,
  22230. rather than entering each item separately.
  22231.  
  22232. %p "Comment"
  22233. This practice permits user review and possible data correction prior to
  22234. entry.  It will also permit efficient cross validation of related data
  22235. items by the computer.
  22236.  
  22237. %p "See also"
  22238. 1.4/1 6.3/18
  22239. %g "6.3/7      +  Data Entry Independent of Cursor Placement"
  22240.  
  22241. %p
  22242. Ensure that an ENTER action for multiple data items will result in entry
  22243. of all items, regardless of where the cursor is placed on the display.
  22244.  
  22245. %p "Comment"
  22246. A user may choose to move the cursor back in order to correct earlier
  22247. data items, and cannot be relied upon to move the cursor forward again.
  22248. The computer should ignore cursor placement in such cases.
  22249.  
  22250. %p "See also"
  22251. 1.1/24
  22252. %g "6.3/8      Editing Data Before Entry"
  22253.  
  22254. %p
  22255. Allow users to correct keyed data entries (and control entries) before
  22256. taking an explicit ENTER action.
  22257.  
  22258. %p "Comment"
  22259. Easy correction before entry will avoid the need for computer processing
  22260. of user-detected errors.
  22261.  
  22262. %p "Comment"
  22263. A user should be able to backspace with a nondestructive cursor to the
  22264. point of error, correct the erroneous item, and ENTER all items without
  22265. any further cursor positioning.
  22266.  
  22267. %p "Reference"
  22268. EG 5.4
  22269. Neal Emmons 1984
  22270.  
  22271. %p "See also"
  22272. 1.4/2 3.5/2 6.0/10
  22273. %g "6.3/9      Immediate Error Correction"
  22274.  
  22275. %p
  22276. When a data entry error is detected by the computer, allow the user to
  22277. make an immediate correction.
  22278.  
  22279. %p "Comment"
  22280. Immediate corrections will be made more easily and accurately.  Intended
  22281. entries will still be fresh in the user's mind, and any source data
  22282. (e.g., documents) will still be available to the user.
  22283.  
  22284. %p "Reference"
  22285. EG 5.7
  22286. MS 5.15.7.7
  22287.  
  22288. %p "See also"
  22289. 1.7/6 3.5/12
  22290. %g "6.3/10     +  Editing Entries After Error Detection"
  22291.  
  22292. %p
  22293. Following error detection, allow users to edit entries so that they must
  22294. rekey only those portions that were in error.
  22295.  
  22296. %p "Comment"
  22297. If a user must re-enter an entire data set to correct one wrong item,
  22298. s/he may make new errors in previously correct items.
  22299.  
  22300. %p "Reference"
  22301. BB 5.2.1
  22302. EG 4.2.3 5.4
  22303. MS 5.15.7.1
  22304.  
  22305. %p "See also"
  22306. 4.3/15 6.0/10
  22307. %g "6.3/11     +  Explicit Entry of Corrections"
  22308.  
  22309. %p
  22310. Require users to take an explicit ENTER action for computer processing
  22311. of error corrections; this should be the same action that was taken to
  22312. enter the data originally.
  22313.  
  22314. %p "Reference"
  22315. MS 5.15.7.9
  22316. PR 4.12.6
  22317.  
  22318. %p "See also"
  22319. 3.5/6 6.0/9
  22320. %g "6.3/12     Flexible BACKUP for Error Correction"
  22321.  
  22322. %p
  22323. Allow users to return easily to previous steps in a transaction sequence
  22324. in order to correct an error or make any other desired change.
  22325.  
  22326. %p "Example"
  22327. A user might wish to BACKUP through the defined sequence of a
  22328. question-and-answer dialogue in order to change a previous answer.
  22329.  
  22330. %p "Comment"
  22331. The effective implementation of such a BACKUP capability depends upon
  22332. whether sequences of related transactions can in fact be defined.  Any
  22333. attempt to BACKUP through an arbitrary series of unrelated transactions
  22334. will pose logical problems both for designers and users.
  22335.  
  22336. %p "Reference"
  22337. MS 5.15.7.7
  22338.  
  22339. %p "See also"
  22340. 3.5/13
  22341. %g "6.3/13     Data Verification by User Review"
  22342.  
  22343. %p
  22344. When verification of prior data entries is required, allow users to
  22345. review and confirm the data, rather than requiring re-entry of the data.
  22346.  
  22347. %p "Comment"
  22348. For routine verification, data review by the user will be quicker than
  22349. re-entry, with less risk of introducing new errors.
  22350.  
  22351. %p "Comment"
  22352. For special verification, as when computer processing has detected
  22353. doubtful and/or discrepant data entries, the user should be alerted with
  22354. an appropriate advisory message.
  22355.  
  22356. %p "See also"
  22357. 1.0/1 1.8/9 4.3
  22358. %g "6.3/14     +  Automatic Data Generation"
  22359.  
  22360. %p
  22361. When routine or redundant data can be derived by the computer, display
  22362. those data automatically for user review, rather than requiring entry by
  22363. the user.
  22364.  
  22365. %p "Comment"
  22366. This represents an exception, in the interests of improved data
  22367. accuracy, to the general recommendation that data entry/change should
  22368. occur only as a result of explicit user actions.  Automatic data
  22369. generation by the computer, where it can be based on derived values or
  22370. cross-file updating, will be faster and more accurate than user entry.
  22371. In effect, having a computer do automatically what the user may do
  22372. poorly is here regarded as a form of data protection.
  22373.  
  22374. %p "Reference"
  22375. BB 2.4.2
  22376. MS 5.15.2.1.6
  22377.  
  22378. %p "See also"
  22379. 1.8/7 1.8/8 1.8/10 1.8/11
  22380. %g "6.3/15     +  Displaying Default Values"
  22381.  
  22382. %p
  22383. Display currently operative default values for data entry, so that users
  22384. can review and confirm them for computer processing.
  22385.  
  22386. %p "Reference"
  22387. BB 2.1.10
  22388.  
  22389. %p "See also"
  22390. 1.8/4 1.8/5
  22391. %g "6.3/16     Displaying Data to be Changed"
  22392.  
  22393. %p
  22394. If a user requests change (or deletion) of a stored data item that is
  22395. not currently being displayed, offer to display both the old and new
  22396. values so that the user can confirm or nullify the change before the
  22397. transaction is completed.
  22398.  
  22399. %p "Comment"
  22400. This practice will tend to prevent inadvertent change, including changes
  22401. resulting in loss of needed data.  User attempts at selective data
  22402. change without displayed feedback will be prone to error.
  22403.  
  22404. %p "Comment"
  22405. For proposed deletion of significant amounts of data, such as entire
  22406. files, it will probably not be feasible to display all of the data.  In
  22407. such instances, sufficient information should be provided so that the
  22408. user can identify those files s/he has selected for deletion.  The user
  22409. should be clearly warned of the potential data loss and required to
  22410. confirm the destructive action before it will be executed.
  22411.  
  22412. %p "See also"
  22413. 1.0/14
  22414. %g "6.3/17     Validating Data Changes"
  22415.  
  22416. %p
  22417. Provide data validation software which will detect erroneous or doubtful
  22418. values for data changes, as well as for initial data entries.
  22419.  
  22420. %p "Comment"
  22421. Do not rely on users always to be correct when entering or changing
  22422. data.  When validity of data entries can be checked automatically, such
  22423. computer validation will improve the accuracy of data entry.
  22424.  
  22425. %p "Reference"
  22426. MS 5.15.2.1.5 5.15.7.3
  22427. PR 4.12.4
  22428.  
  22429. %p "See also"
  22430. 1.7/1
  22431. %g "6.3/18     +  Cross Validation of Related Data"
  22432.  
  22433. %p
  22434. For the entry of related data items, provide automatic cross validation
  22435. to ensure that the data set is logically consistent.
  22436.  
  22437. %p "Comment"
  22438. Such cross checking is a significant advantage of on-line data
  22439. processing, providing computer aids to help users detect logical errors.
  22440.  
  22441. %p "Reference"
  22442. MS 5.15.7.3
  22443. PR 4.12.5
  22444.  
  22445. %p "See also"
  22446. 1.4/1 1.7/1 6.3/6
  22447. %g "6.3/19     User Confirmation of Destructive Actions"
  22448.  
  22449. %p
  22450. Require users to take explicit action to confirm doubtful and/or
  22451. potentially destructive data change actions before they are accepted by
  22452. the computer for execution.
  22453.  
  22454. %p "Comment"
  22455. A requirement to take an explicit CONFIRM action will direct user
  22456. attention to questionable data changes, and help the user avoid the
  22457. consequences of thoughtless errors.
  22458.  
  22459. %p "Reference"
  22460. BB 5.6
  22461. MS 5.15.7.5.b
  22462.  
  22463. %p "See also"
  22464. 1.3/32 1.3/34 4.3/18 6.0/18
  22465. %g "6.3/20     Distinctive File Names"
  22466.  
  22467. %p
  22468. When data files may be deleted (or overwritten) by name, ensure that the
  22469. names of different files are distinctive.
  22470.  
  22471. %p "Comment"
  22472. If file names are similar, it is easy for users to make an error in file
  22473. storage, by specifying an unintended overwriting of one file with data
  22474. from a similarly named other file.
  22475.  
  22476. %p "Comment"
  22477. If two or more files are assigned similar names, the distinctive feature
  22478. should be near the beginning of those names rather than at the end; in
  22479. particular, no file name should simply be a truncated version of
  22480. another.
  22481.  
  22482. %p "Comment"
  22483. In many applications, file naming is a user option, and distinctive
  22484. naming will depend on user judgment.  In such circumstances, users
  22485. should be offered guidance on good naming procedures.  In addition,
  22486. perhaps the computer might provide an advisory message if a proposed new
  22487. file name is similar (e.g., identical in the first 5 letters) to the
  22488. name of an existing file.
  22489. %g "6.3/21     Segregating Real from Simulated Data"
  22490.  
  22491. %p
  22492. When simulated data are stored and processed in a system (perhaps for
  22493. user training), ensure that changes to simulated data are processed
  22494. separately and do not affect real data.
  22495.  
  22496. %p "Reference"
  22497. BB 6.4
  22498.  
  22499. %p "See also"
  22500. 4.4/30 6.0/6
  22501. %g "6.3/22     Preventing Data Loss at LOG-OFF"
  22502.  
  22503. %p
  22504. When a user requests LOG-OFF, check any pending transactions involving
  22505. data entry/change and, if data loss seems probable, display an
  22506. appropriate advisory message to the user.
  22507.  
  22508. %p "Example"
  22509. | Current data entries have not been filed; |
  22510. | save if needed before confirming LOG-OFF. |
  22511.  
  22512. %p "Comment"
  22513. The user may sometimes suppose that a job is done before taking a
  22514. necessary further implementing action.
  22515.  
  22516. %p "Reference"
  22517. BB 4.8
  22518. MS 5.15.7.5.e
  22519.  
  22520. %p "See also"
  22521. 3.5/11
  22522. %a "6.4    Data Transmission"
  22523.  
  22524. %p
  22525. Data transmission procedures should ensure data protection when sending
  22526. and receiving messages.
  22527. %g "6.4/1      Automatic Protection of Transmitted Data"
  22528.  
  22529. %p
  22530. Ensure that whatever measures are adopted to protect data during
  22531. transmission -- e.g., encryption, parity checks, buffering until
  22532. acknowledgment of receipt -- will be applied automatically, without the
  22533. need for user action.
  22534.  
  22535. %p "Comment"
  22536. Users are fallible, and cannot be relied upon to participate quickly and
  22537. accurately in the mechanisms of data transmission, whereas that is what
  22538. computers can do well.  The computer should check transmitted data to
  22539. determine whether an error has occurred; correct errors automatically,
  22540. if necessary by requesting retransmission; and call to the user's
  22541. attention any case in which a detected error cannot be automatically
  22542. corrected.
  22543.  
  22544. %p "See also"
  22545. 5.4/1 6.0/1
  22546. %g "6.4/2      User Review of Data Before Transmission"
  22547.  
  22548. %p
  22549. When human judgment may be required to determine whether data are
  22550. appropriate for transmission, provide users (or a system administrator)
  22551. some means to review outgoing messages and confirm their release before
  22552. transmission.
  22553.  
  22554. %p "Comment"
  22555. Sometimes message release may require coordination among several
  22556. reviewers in the interests of data protection.
  22557.  
  22558. %p "See also"
  22559. 5.3/2
  22560. %g "6.4/3      Encrypting Messages"
  22561.  
  22562. %p
  22563. When it is necessary to transmit sensitive data over insecure
  22564. communication channels, provide automatic encryption to protect such
  22565. data.
  22566.  
  22567. %p "Comment"
  22568. Do not rely on users to remember to request message encryption.  A user
  22569. might be asked to supply an encryption key, but the computer should
  22570. handle any actual encryption process.
  22571.  
  22572. %p "Reference"
  22573. Price 1981
  22574.  
  22575. %p "See also"
  22576. 6.0/1 6.2/9
  22577. %g "6.4/4      Saving Transmitted Data Until Receipt is Confirmed"
  22578.  
  22579. %p
  22580. Save a copy of any transmitted message automatically until correct
  22581. receipt has been confirmed (and possibly longer in some applications).
  22582.  
  22583. %p "Comment"
  22584. The primary objective is to prevent irretrievable data loss during
  22585. transmission.  For many system applications, however, the originator of
  22586. a message will probably want to retain a copy in any case.  Any
  22587. subsequent deletion of that copy should probably be handled as a
  22588. separate transaction, distinct from data transmission.
  22589. %g "6.4/5      Nondisruptive Notification of Messages Received"
  22590.  
  22591. %p
  22592. Provide automatic queuing of incoming messages as necessary to ensure
  22593. that they will not disrupt current user information handling tasks.
  22594.  
  22595. %p "Comment"
  22596. In general, incoming data should not replace currently stored data
  22597. directly, but should be queued for review and disposition by a user.  An
  22598. exception must be made, however, in applications where automatic
  22599. updating of current situation data is required for operations
  22600. monitoring, as in air traffic control systems.  In such cases data
  22601. updating is the primary purpose of the system, and that updating should
  22602. not require continuous actions by a user.
  22603.  
  22604. %p "See also"
  22605. 5.5/5
  22606. %g "6.4/6      Authenticating Message Sources"
  22607.  
  22608. %p
  22609. When a user must confirm the identity of a message source, provide
  22610. computer aids for that purpose.
  22611.  
  22612. %p "Example"
  22613. In military message systems, received commands might be authenticated
  22614. automatically by requesting computer-generated confirmation codes.
  22615.  
  22616. %p "Reference"
  22617. Price 1981
  22618.  
  22619. %p "See also"
  22620. 5.3/6
  22621. %g "6.4/7      Printing Messages"
  22622.  
  22623. %p
  22624. Within the constraints of data security, allow users to generate printed
  22625. copies of transmitted data, including messages sent and received.
  22626.  
  22627. %p "Comment"
  22628. User requirements for printed data are often unpredictable, and printing
  22629. restrictions may handicap task performance.  Rather than restrict
  22630. printing, establish appropriate procedures for restricting further
  22631. distribution of printed messages.
  22632.  
  22633. %p "See also"
  22634. 2.7.1/11 5.3/13 6.2/7
  22635. %a "6.5    Design Change"
  22636.  
  22637. %p
  22638. Design change of software supporting data protection may be needed to
  22639. meet changing operational requirements.
  22640. %g "6.5/1      Flexible Design for Data Protection"
  22641.  
  22642. %p
  22643. When data protection requirements may change, which is often the case,
  22644. provide some means for a system administrator to make necessary changes
  22645. to data protection functions.
  22646.  
  22647. %p "Comment"
  22648. Data protection functions that may need to be changed include those
  22649. represented in these guidelines, namely, changes in protective measures
  22650. regulating user identification, data access, data entry/change, and data
  22651. transmission.
  22652. %g "6.5/2      Protection from Design Change"
  22653.  
  22654. %p
  22655. Protect user interface design from any changes that might impair
  22656. functions supporting data entry, data display, sequence control, user
  22657. guidance, data transmission, and data protection.
  22658.  
  22659. %p "Comment"
  22660. A trade-off is required between design flexibility, to permit needed
  22661. improvements to the user interface, and design control, to protect
  22662. current functions from undesirable changes.  Some form of continuing
  22663. configuration management should be instituted to evaluate changes to
  22664. user interface design, just as for any other critical system interface.
  22665.  
  22666. %p "See also"
  22667. 1.9/1 2.8/1 3.7/1 4.6/1 5.6/1
  22668.